Webpack UglifyJS 运行 变成意外的令牌
Webpack UglifyJS running into unexpected token
我正在尝试设置一个开发样板文件,它也可以轻松地将 Vue.js 项目推送到 NPM。
我 运行 我的 webpack.prod.js
文件出了问题,错误是:
ERROR in build.js from UglifyJs
Unexpected token: operator (>)
要加丑的代码是:
// minify with dead-code elimination
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
})
这是我的项目和它似乎出错的确切文件:
https://github.com/stephan-v/vue-inline-svg/blob/master/webpack/webpack.prod.js
项目在我运行npm run production
时使用Babel转ES6,Webpack编译UMD格式。此命令使用 webpack.prod.js
配置。
我可能没有看到可以轻松修复的问题,但我不知道这里出了什么问题。
使用 webpack simple 存储库中的 .babelrc
文件解决了我的问题。不过我不确定这里发生了什么:
{
"presets": [
["env", { "modules": false }]
]
}
据我所知,.babelrc
包含告诉 babel 如何转换我的代码的插件和选项。
我查看了 modules
选项的具体内容:
https://babeljs.io/docs/plugins/preset-env/#optionsmodules
内容如下:
"amd" | "umd" | "systemjs" | "commonjs" | false, defaults to
"commonjs".
Enable transformation of ES6 module syntax to another module type.
Setting this to false will not transform modules.
因为我希望所有用户都可以使用我的包并且我的 webpack
生产配置使用:
libraryTarget: 'umd'
要将我的代码编译成 umd
格式,这不会与 "modules": false
冲突吗?
我也习惯在.babelrc
文件中看到一个es2015
预设。这是无处可寻的。这是现在的默认设置吗?
似乎 es2015
选项已被完全删除:
https://github.com/vuejs-templates/webpack/commit/424cd3f6d101ffeb57f48bca55d7951b35af60e0
从我目前所读的内容来看,这是因为 Webpack 2 已经知道如何在本地使用 ES6 模块,因此 "modules": false
禁用并阻止 babel 转译还有。
请随时发表评论并纠正我的任何问题。我将此保存以供将来参考,并供其他人查看可能也会遇到此问题的人。
我正在尝试设置一个开发样板文件,它也可以轻松地将 Vue.js 项目推送到 NPM。
我 运行 我的 webpack.prod.js
文件出了问题,错误是:
ERROR in build.js from UglifyJs
Unexpected token: operator (>)
要加丑的代码是:
// minify with dead-code elimination
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
})
这是我的项目和它似乎出错的确切文件:
https://github.com/stephan-v/vue-inline-svg/blob/master/webpack/webpack.prod.js
项目在我运行npm run production
时使用Babel转ES6,Webpack编译UMD格式。此命令使用 webpack.prod.js
配置。
我可能没有看到可以轻松修复的问题,但我不知道这里出了什么问题。
使用 webpack simple 存储库中的 .babelrc
文件解决了我的问题。不过我不确定这里发生了什么:
{
"presets": [
["env", { "modules": false }]
]
}
据我所知,.babelrc
包含告诉 babel 如何转换我的代码的插件和选项。
我查看了 modules
选项的具体内容:
https://babeljs.io/docs/plugins/preset-env/#optionsmodules
内容如下:
"amd" | "umd" | "systemjs" | "commonjs" | false, defaults to "commonjs".
Enable transformation of ES6 module syntax to another module type.
Setting this to false will not transform modules.
因为我希望所有用户都可以使用我的包并且我的 webpack
生产配置使用:
libraryTarget: 'umd'
要将我的代码编译成 umd
格式,这不会与 "modules": false
冲突吗?
我也习惯在.babelrc
文件中看到一个es2015
预设。这是无处可寻的。这是现在的默认设置吗?
似乎 es2015
选项已被完全删除:
https://github.com/vuejs-templates/webpack/commit/424cd3f6d101ffeb57f48bca55d7951b35af60e0
从我目前所读的内容来看,这是因为 Webpack 2 已经知道如何在本地使用 ES6 模块,因此 "modules": false
禁用并阻止 babel 转译还有。
请随时发表评论并纠正我的任何问题。我将此保存以供将来参考,并供其他人查看可能也会遇到此问题的人。