Laravel 将包与 `npm 运行 dev` 混合使用

Laravel Mix breaks package with `npm run dev`

我有一个用 ES6 功能编写的 nodejs 包,如 'let'、扩展运算符 (...) 和函数参数的默认值。

当我 运行 npm run production of Laravel Mix 时,出现错误,如下所示:

 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 时,一切都按预期进行。 知道为什么它无法转换代码吗?

Uglify 无法解析ES6,会抛出语法错误。首先转换为 ES5,post-用 babel 处理生成的 JS,或者使用不同的 minifier。