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.

Другие вопросы по тегам