这个错误通常是因为在使用Angular CLI或Webpack构建项目时,未能正确配置Terser插件所导致的。Terser是一个用于压缩和混淆JavaScript代码的工具。
以下是解决这个问题的步骤和代码示例:
npm install terser-webpack-plugin --save-dev
打开你的webpack配置文件(通常是webpack.config.js
或者angular.json
文件)。
在配置文件中找到关于Terser插件的相关配置。如果找不到,请添加以下代码:
const TerserPlugin = require('terser-webpack-plugin');
module.exports = {
// ...
optimization: {
minimize: true,
minimizer: [new TerserPlugin()],
},
// ...
};
或者在angular.json中找到以下配置:
"architect": {
"build": {
"options": {
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"aot": true,
"extractCss": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/styles.scss"
],
"scripts": [],
"allowedCommonJsDependencies": [
"lodash"
]
}
}
}
确保optimization
和minimizer
的配置项正确地包含了Terser插件。
ng build
这样就应该解决了“Angular CLI/Webpack - Terser未定义的错误”的问题。
注意:如果你正在使用Angular CLI,确保你的CLI版本是最新的,可以通过运行以下命令来检查和更新CLI:
ng update @angular/cli