我有一个用ES6功能编写的nodejs包作为'let',扩展运算符(...)和函数参数的默认值。
当我运行Laravel Mix的npm run production
时,会出现错误,如下所示:
ERROR Failed to compile with 1 errors
error
/js/app.js from UglifyJs
Unexpected token: name (DateTime) [./~/vdatetime/src/datetime.js:3,0]
[/js/app.js:40347,4]
npm ERR! Linux 4.4.0-72-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "production"
npm ERR! node v7.4.0
npm ERR! npm v4.1.2
npm ERR! code ELIFECYCLE
npm ERR! @ production: `cross-env NODE_ENV=production
node_modules/webpack/bin/webpack.js --progress --hide-modules --
config=node_modules/laravel-mix/setup/webpack.config.js`
npm ERR! Exit status 2
(似乎是第3行的原因let
运算符)
但是当我尝试npm run dev
时,一切都按预期工作。
知道为什么它无法转换代码吗?
答案 0 :(得分:0)
Uglify无法解析ES6,它会抛出语法错误。首先转换为ES5,使用babel对生成的JS进行后处理,或使用其他缩小器。