gpt4 book ai didi

angular - 如何配置 terserplugin 不破坏类名

转载 作者:行者123 更新时间:2023-12-02 16:56:18 26 4
gpt4 key购买 nike

类名在缩小过程中被破坏,但不应该这样做

我尝试在重整时设置保留属性,如下所述 https://github.com/webpack-contrib/terser-webpack-plugin#terseroptions 。不幸的是这对我不起作用。

我在 bitbucket 上有一个包含问题的存储库,https://bitbucket.org/JohanBeumer/angular-ivy-aot/src/master/ .

我注意到我犯了一个错误,没有将最新的源代码提交到 bitbucket。抱歉,我更新了存储库。

我在该存储库中使用的自定义 Webpack 配置如下:


module.exports = {
optimization: {
minimizer: [
new TerserPlugin({
terserOptions: {
// https://github.com/webpack-contrib/terser-webpack-plugin#terseroptions
compress: false,
keep_fnames: true,
keep_classnames: true,
mangle: {
keep_fnames: true,
keep_classnames: true,
properties: {
reserved: ['Foo', 'BaseModel']
}
}
}
})
]
}
};

我希望屏幕标题显示类的名称,即“Foo”。

我使用以下命令构建应用程序:ng build --prod --aot

我的实际问题是,如何防止 webpack minify 损坏类名?

感谢托尼·吴的回复。我按照您的建议添加了 keep_fnames ,但不幸的是这并不能解决问题。现在我在控制台中收到以下错误:

Console error

最佳答案

只是为了完成这个问题。我首先用 Webpack 创建了一个问题,后来又用 Angular-cli 创建了一个问题。

Webpack issue

Angular-cli issue

要点是,您可以配置 terserPlugin,但 Angular 在进行重整时会忽略该配置。

为了节省时间,不要动态尝试获取类名,而是添加一个具有相同名称的属性并使用它。

关于angular - 如何配置 terserplugin 不破坏类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56540461/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com