Хоча є відповіді, але я також хотів би додати деякі свої висновки, тому що я був справді плутаний з тим, що насправді складається, як і у всіх випадках, TS
-> JS
відбувається конверсія. Я беру деякий пункт із блогу Джеффа як довідник.
JIT
TS
Код , написаний розробником компілюється в JS
код. Тепер цей скомпільований js
код знову компілюється браузером, щоб його html
можна було динамічно відображати відповідно до дії користувача, і відповідно коди angular
(для компонентів, виявлення змін, введення залежності) також створюються під час виконання.
(Компілятор браузера - це те, що приймає директиви та компоненти програми разом з відповідними HTML та CSS та створює фабрики компонентів для швидкого відмітки екземплярів усією їх логікою створення перегляду.)
Коли додаток Angular 2 завантажується в браузері, компілятор JIT виконує багато роботи для аналізу компонентів у програмі під час виконання та генерування коду в пам'яті. Коли сторінка оновлюється, вся виконана робота викидається, а компілятор JIT виконує цю роботу знову.
AOT
TS
Код , написаний розробником компілюється в JS
код, це js
вже скомпільовані для кутових і . Тепер цей скомпільований js
код знову збирається браузером, щоб html
можна було винести. Але суть тут полягає в тому, що компілятором angular
вже подбали про особливості, AOT
а отже, браузеру не потрібно переживати над створенням компонентів, виявленням змін, введенням залежності. Отже, у нас є:
Швидше відображення
За допомогою AOT браузер завантажує попередньо складену версію програми. Браузер завантажує виконуваний код, щоб він міг оновлювати додаток негайно, не чекаючи спочатку складати додаток.
Менше асинхронних запитів
Компілятор окреслює зовнішні шаблони HTML та таблиці стилів CSS у програмі JavaScript, виключаючи окремі запити ajax для цих вихідних файлів.
Менший розмір завантаження з кутовою рамкою
Немає потреби завантажувати компілятор Angular, якщо додаток уже складено. Компілятор становить приблизно половину кутового самого по собі, тому його опускання різко зменшує навантаження на додаток.
Виявити помилки шаблону раніше
Компілятор AOT виявляє та повідомляє про помилки прив'язки шаблону під час кроку збирання, перш ніж користувачі зможуть їх побачити.
Краща безпека
AOT збирає HTML-шаблони та компоненти у файли JavaScript задовго до їх обслуговування клієнту. Без шаблонів для читання і без ризикованої оцінки клієнтів на HTML або JavaScript, існує менше можливостей для ін'єкційних атак.
Залишилися відмінності вже висвітлюються у пунктах кулі Benyamin, Nisar & Gaurang.
Ви можете мене виправити