在angular 7生产模式下编译时,我无法保留类名。我尝试了Terser插件的不同参数,但没有一个能解决此问题。 有解决这个问题的方法吗?还是MyClass.constructor.name之外的另一种选择。
提前谢谢
在自定义Webpack配置下面
const TerserPlugin = require('terser-webpack-plugin');
module.exports = {
optimization: {
minimizer: [
new TerserPlugin({
parallel: true,
terserOptions: {
keep_classnames: true,
mangle: false
}
})
]
}
};
答案 0 :(得分:1)
与其他任何经过优化的Javascript代码一样,处于生产模式的Angular应用程序会经历一个缩小过程,该过程会将所有类,函数和变量名称更改为最小名称(通常为一个字母),以减小加载的包大小。因此,您不能依赖MyClass.constructor.name
并将其与静态值进行比较。