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。
我有一个用 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。