webpack 打包压缩 ES6文件报错UglifyJs + Unexpected token punc «(», expected punc
时间: 2024-03-06 15:51:58 浏览: 238
这个问题可能是因为 UglifyJs 不支持 ES6 中的语法导致的。解决这个问题的方法是使用一个 ES6 转 ES5 的插件,如 babel。你可以使用 babel 将 ES6 代码转换成 ES5 代码,然后再使用 UglifyJs 进行压缩。具体的步骤如下:
1. 安装 babel 和 babel-preset-env:
```
npm install --save-dev babel-core babel-preset-env
```
2. 在项目的根目录下创建一个 `.babelrc` 文件,配置 `babel-preset-env`:
```
{
"presets": ["env"]
}
```
3. 修改 webpack 的配置文件,在 `module.rules` 中添加一个新的 loader:
```
module.exports = {
// ...
module: {
rules: [
// ...
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: ['env']
}
}
}
]
}
}
```
这样修改之后,webpack 打包压缩 ES6 文件时,就会先使用 babel 将其转换成 ES5 代码,再使用 UglifyJs 进行压缩,就不会再出现 `Unexpected token punc «(», expected punc` 的错误了。
阅读全文