我在尝试运行我的网页包生成时出错。
node_modules/webpack/bin/webpack.js -p --config webpack.config.production.js
...
ERROR in app.js from UglifyJs
Unexpected token: keyword (const) [app.js:18757,0]
...
通过查看这个错误,我了解到这可能会导致ES6代码进入系统
uglifyjs-webpack-plugin
但是如果我有babel设置将代码传输到es5中,为什么会这样呢?
巴别塔
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "6.10",
"esmodules": true
}
}
]
],
"plugins": ["@babel/plugin-proposal-object-rest-spread"]
}
网页包公共配置
module.exports = (env, options) => ({
...
module: {
rules: [
{
test: /\.js$/,
use: {
loader: "babel-loader",
options: {
presets: ["@babel/preset-env"]
}
},
exclude: /node_modules/
},
...
还有我的产品配置
...
const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
...
const webpackCommonConfig = require("./webpack.config.common")();
module.exports = merge(webpackCommonConfig, {
mode: "production",
optimization: {
minimizer: [
new UglifyJsPlugin({ cache: false, parallel: false, sourceMap: false }),
...
]
}
});
我的假设是,在优化运行之前,babel会将js传输到es5中。我错过了什么?
https://babeljs.io/docs/en/babel-preset-env#forcealltransforms
虽然