我正在尝试配置我的 Angular 8 项目构建以保留函数和类名(我需要我的类名来使用反射和其他基于类名的东西)。为了管理这个,我使用@angular-builders/custom-webpack
which 允许覆盖 webpack 配置。
"architect": {
"build": {
"builder": "@angular-builders/custom-webpack:browser",
"options": {
"customWebpackConfig": {
"path": "./extra-webpack.config.js",
"mergeStrategies": {
"externals": "replace",
}
},
我的extra-webpack.config.js
:
console.log('Custom webpack config');
const TerserPlugin = require('terser-webpack-plugin');
module.exports = {
optimization: {
minimizer: [
new TerserPlugin({
terserOptions: {
keep_classnames: true,
keep_fnames: true,
}
})
]
}
};
正如Terser 文档中所说,keep_classnames
用于保留类名称并keep_fnames
用于保留函数名称。
问题是我的类名和函数名不见了,我在 main.XXXX.js 构建文件中找不到它们,并且我的应用程序无法正常工作,因为反射不起作用。
我确定我extra-webpack.config.js
的不会被忽略,因为我可以"Custom webpack config"
在控制台上看到日志。
我应该配置其他东西来保留我的函数和类名吗?