小编Joh*_*mer的帖子

如何配置 terserplugin 不破坏类名

类名在缩小期间被破坏,但不应该这样做

我尝试在按照此处https://github.com/webpack-contrib/terser-webpack-plugin#terseroptions所述进行修改时设置保留属性。不幸的是,这对我不起作用。

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

我注意到我没有向 bitbucket 提交最新的源代码是一个错误。抱歉,我更新了 repo。

我在该 repo 中使用的自定义 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']
                        }
                    }
                }
            })
        ]
    }
};
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

控制台错误

webpack angular terser

10
推荐指数
1
解决办法
7048
查看次数

标签 统计

angular ×1

terser ×1

webpack ×1