Что такое ngcc?
ngcc (Angular Compatibility Compiler) — это инструмент, который используется в Angular для обработки пакетов, написанных с использованием старой версии Angular (например, до Angular 9) и конвертирования их в совместимые с Ivy форматы. Ivy — это новый рендерер, который был введён в Angular 9, и он предоставляет множество новых возможностей, включая ускорение загрузки приложений и оптимизацию работы с памятью.
Зачем нужен ngcc?
Когда вы используете сторонние библиотеки, которые ещё не были обновлены для работы с Ivy, вам необходимо запустить ngcc для преобразования этих библиотек в формат, совместимый с новым рендерером. Это позволяет вашему приложению работать с этими библиотеками, не сталкиваясь с проблемами совместимости.
Вот несколько основных причин, почему стоит использовать ngcc:
Как использовать ngcc?
Ngcc обычно вызывается автоматически в рамках процесса сборки вашего проекта Angular. Это происходит, когда вы запускаете команды, такие как ng serve
или ng build
. Однако вы также можете запускать ngcc вручную.
Пример запуска ngcc вручную
Допустим, у вас установлен Angular CLI и вы хотите запустить ngcc вручную:
ngcc
Это выполнит ngcc на всех доступных пакетах в вашем проекте.
Конфигурация ngcc
Вы также можете настроить ngcc, указав параметры в файле tsconfig.app.json
вашего приложения. Вот как это можно сделать:
{
"angularCompilerOptions": {
"enableIvy": true,
"enableResourceInlining": true,
"enableNgcc": true
}
}
Заключение
Ngcc — это важный инструмент для разработчиков, использующих Angular, особенно при переходе на Ivy. Он обеспечивает совместимость ваших приложений с существующими библиотеками и помогает использовать преимущества новых возможностей Angular. Понимание ngcc и правильная его настройка могут значительно упростить разработку и улучшить производительность ваших приложений.