Имена классов искалечены во время минификации, но это не должно быть сделано
Я попытался установить зарезервированное свойство при калечении, как описано здесь https://github.com/webpack-contrib/terser-webpack-plugin#terseroptions. К сожалению, это не работает для меня.
У меня есть репозиторий на bitbucket, в котором есть проблема, https://bitbucket.org/JohanBeumer/angular-ivy-aot/src/master/.
Я заметил, что допустил ошибку, не передавая последние источники в bitbucket. Извините за это, я обновил репо.
Конфигурация De Custom 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, как вы предложили, но, к сожалению, это не решает проблему. Теперь я получаю следующую ошибку в консоли:
