共计 565 个字符,预计需要花费 2 分钟才能阅读完成。
问题描述
近期在工作中,打包 react 项目时控制台报了以下错误:
ERROR in index.js from UglifyJs
Unexpected token: operator (>) [./~/query-string/index.js:8,0]
问题解决
我先初步推断了一下问题:Unexpected token: operator (>) 表示不识别 > 符号 /query-string/index.js 表示这个文件里面的第 8 行第 0 列出现的问题
我就找这个文件,发现是 node_modules 目录下的,安装的 query-string 插件,就打开看了一下第 8 行的内容。
return (key, value, index) => {
…
}
发现是箭头函数的 > 没有被识别,箭头函数是 ES6 的语法,由此可以发现是 babel 的问题。该项目用的是 roadhog 配置的 babel,我就去查看了一下 roadhog 的配置,想把 node_modules/query-string/index.js 加入 babel 编译里面,结果在其官网看到了以下内容:
把源码放到 src 目录下,因为非 src 目录下的文件不会走 babel 编译。
roadhog 默认只编译 src 目标录下的,所以我就去找 query-string 的版本,发现 5.0.1 的版本是用的 es5 写的,于是把它的版本降低,经过测试后解决了这个问题。
正文完