我有 2 个 Vue-Cli webpack 项目(ClientApp 和 Lib)。
lib是我的组件库(与其他项目共享)
问题
当我构建我的项目 ClientApp npm run build
,我有以下错误:
ERROR in static/js/app.d08a24ce0e8d0438ce68.js from UglifyJs
Unexpected token: operator (>) [C:/.../Lib/src/tools/escape-key.js:3,0][static/js/app.d08a24ce0e8d0438ce68.js:17468,38]
问题
错误似乎来自文件
escape-key.js
中的箭头函数.这是 ES6 语法,UglifyJS 无法解析。
在丑化之前,巴别塔不应该先走吗?
请注意,它适用于
*.vue
文件。项目结构
ClientApp
| - build
| - config
| - src
| - App.Vue // import EscapeKey from '~lib/tools/escape-key';
Lib
| -src
| - tools
| - escape-key.js
ClientApp 的 webpack.base.conf.js 文件
请注意,Lib 有一个别名。
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'@': resolve('src'),
'~lib': path.join(__dirname, '../../lib/src'),
}
},
如果需要,请随时询问更多详细信息。
最佳答案
添加
"uglifyjs-webpack-plugin": "v1.0.0-beta.1",
到您的开发依赖项并更新您的
webpack.config.js
文件以明确使用此版本:const UglifyJSPlugin = require('uglifyjs-webpack-plugin')
module.exports = {
plugins: [
new UglifyJSPlugin()
]
}
uglifyjs-webpack-plugin 最新稳定版本 (v0.4.6) 使用旧版本
uglify-js
而不是 uglify-es
能够转译 ES6。此依赖项已在 1.0.0-beta.1 版本中更新。https://github.com/webpack-contrib/uglifyjs-webpack-plugin/releases/tag/v1.0.0-beta.1
关于webpack - 意外 token : operator (>) from UglifyJs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43888474/