Вы правы, Angular предлагает 2 способа привязки вашего приложения:
Just-in-Time (JIT) , которое компилирует ваше приложение в браузере во время выполнения.(при запуске ng serve
)
- Скомпилировано в браузере
- Каждый файл скомпилирован отдельно
- Нет необходимости создавать после изменения кода и перед перезагрузкой браузераpage
- Подходит для локального развития
Ahead-of-Time (AOT) , который компилирует ваше приложение во время сборки.(при запуске ng serve --aot=true
)
- Скомпилировано самой машиной через командную строку (Быстрее)
- Весь код скомпилирован вместе, встраивая HTML / CSS в сценарии
- Нет необходимости развертывать компилятор
- Подходит для производственных сборок
Команда ng build с мета-флагом --prod(ng build --prod) по умолчанию компилируется с AOT.
Компилятор Angular Ahead-of-Time (AOT) преобразует ваш код Angular HTML и TypeScript в эффективный код JavaScript на этапе сборки, прежде чем браузер загрузит изапускает этот кодКомпиляция вашего приложения в процессе сборки обеспечивает более быструю визуализацию в браузере.
Поскольку JIT компилирует ваше приложение во время выполнения, оно может оптимизировать компиляцию и собирать только необходимый код.Таким образом, в режиме разработки обычно используется JIT, чтобы сэкономить время полной сборки.Время компиляции будет быстрее с использованием JIT.
AOT оптимизирует скорость работы, но время компиляции больше, поэтому его часто используют в производстве.AOT также оптимизирует размер вашего приложения, так как все файлы будут скомпилированы перед его запуском.