Angular9: сборка имеет дополнительный шаг компиляции
Поскольку я обновил свой проект Angular8 до Angular9, я вижу дополнительный шаг компиляции в esm. Это увеличивает время сборки на 1 минуту.
Это выглядит примерно так:
Compiling @angular/animations : es2015 as esm2015
Compiling @angular/cdk/keycodes : es2015 as esm2015
Compiling @angular/compiler/testing : es2015 as esm2015
Compiling @angular/core : es2015 as esm2015
Compiling @angular/cdk/collections : es2015 as esm2015
Compiling @angular/common : es2015 as esm2015
...
Кто-нибудь знает, для чего этот шаг? и есть ли возможность отключить его?
1 ответ
Решение
Это ngcc, компилирующий все модули в код, совместимый с ivy.
Вы не можете удалить его, потому что он нужен Айви для работы. но вы можете сделать это один раз, при этом файлы будут сгенерированы в node_modules, и вам не придется делать это снова, пока не будут добавлены какие-либо новые зависимости или не обновлен angular.
Добавьте это в свой package.json
scripts
раздел
"scripts": {
...
"postinstall": "ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points"
...
}
а затем запустить npm install
или yarn install
для запуска команды postinstall.