webpack打包from Terser Octal escape sequences are not allowed in template strings
时间: 2024-05-07 18:23:16 浏览: 11
这个错误是因为在模板字符串中使用了八进制转义序列。Terser 是一个 JavaScript 压缩工具,它会检查代码语法并压缩代码,但不支持八进制转义序列。
为了解决这个问题,你可以将模板字符串中的八进制转义序列改为 Unicode 转义序列,或者使用其他的压缩工具替代 Terser。
如果你必须使用 Terser,那么可以在 webpack 配置文件中添加 Terser 的配置选项,禁用对模板字符串中的八进制转义序列的检查。具体操作如下:
```javascript
module.exports = {
optimization: {
minimizer: [
new TerserPlugin({
terserOptions: {
ecma: 6,
compress: {
// 禁用对模板字符串中的八进制转义序列的检查
ecma: 2015,
warnings: false,
comparisons: false,
inline: 2
}
}
})
]
}
};
```
注意,禁用检查可能会导致其他问题,因此应该谨慎使用。
相关问题
webpack打包使用 terser-webpack-plugin删除console.log不生效
你好!关于你的问题,我可以提供一些帮助。要在 webpack 打包过程中使用 `terser-webpack-plugin` 删除 `console.log`,你需要确保已正确配置和使用该插件。以下是可能需要检查的几个步骤:
1. 确保已安装 `terser-webpack-plugin`。可以通过运行以下命令来安装它:
```
npm install terser-webpack-plugin --save-dev
```
2. 在 webpack 配置文件中,确保引入 `terser-webpack-plugin`:
```javascript
const TerserPlugin = require('terser-webpack-plugin');
```
3. 在 optimization 配置中,添加 `TerserPlugin`:
```javascript
optimization: {
minimizer: [
new TerserPlugin({
terserOptions: {
compress: {
drop_console: true // 删除 console.log
}
}
})
]
}
```
4. 确保 webpack 配置文件中其他的配置项没有影响到插件的执行。特别是注意是否存在其他插件或配置与 `TerserPlugin` 冲突。
完成上述步骤后,重新运行 webpack 打包命令,应该就能够删除代码中的 `console.log` 了。如果问题仍然存在,可以提供更多关于你的 webpack 配置文件的信息,以便我能够更具体地帮助你解决问题。
webpack4和terser-webpack-plugin版本号
webpack 4.x.x 默认使用 terser-webpack-plugin 1.x.x 版本。如果你想使用更高版本的 terser-webpack-plugin,需要手动安装并在 webpack 配置中进行相应的修改。例如,如果你想使用 terser-webpack-plugin 4.x.x 版本,需要执行以下命令安装:
```
npm install terser-webpack-plugin@4.x.x --save-dev
```
然后,在 webpack 配置中引入并使用新版本的插件:
```js
const TerserPlugin = require('terser-webpack-plugin');
module.exports = {
// ...
optimization: {
minimize: true,
minimizer: [
new TerserPlugin({
// options
})
]
}
};
```