angular ng build --prod не сохраняет имя класса (MyClass.constructor.name) - PullRequest
0 голосов
/ 10 декабря 2018

При компиляции в угловом 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
                }
            })
        ]
    }
};
  • @ angular-builders /custom-webpack ":" ^ 7.1.1 "
  • @ angular-devkit / build-angular": "^ 0.11.2"
  • @ angular / cli ":" ^ 7.0.4",

1 Ответ

0 голосов
/ 10 декабря 2018

Как и любой другой оптимизированный код Javascript, приложение Angular в производственном режиме проходит процесс минимизации, который меняет имена всех классов, функций и переменных на минимальные (обычно одна буква), чтобы уменьшить размер загруженного пакета.Поэтому вы не можете полагаться на MyClass.constructor.name и сравнивать его со статическим значением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...