Обязательны ли параметры --prod и --aot в Ivy Angular 9? - PullRequest
0 голосов
/ 29 февраля 2020

Начиная с angular 9, angular начал использовать новый механизм рендеринга под названием IVY и, как сказано в его документе, встроенный код будет выглядеть одинаково в среде dev и prod и прост в отладке, если он все еще требуется для передачи * Опция 1003 * и --aot при сборке кода

старая команда сборки

ng build --aot --prod

новая команда должна выглядеть как

ng build //for both prod and dev build

или только опция --prod требуется для сборки prod

Ответы [ 2 ]

1 голос
/ 29 февраля 2020

Aot никогда не требовался, по умолчанию он включен в производственной сборке и выключен в разработке Теперь это стандартно для всех сред из-за улучшения скорости. Так что для разработки вы делаете:

ng build

и для производственной сборки

ng build --prod

Вы можете проверить файл angular. json, чтобы увидеть, какие настройки для чего нужны. --prod сделал больше, чем просто включил опережающий время компилятор. В ходе этой сборки выполняется множество других оптимизаций

0 голосов
/ 01 марта 2020

TLTR;
--aot флаг не требуется при использовании --prod например ng build --prod


JIT-компиляция используется по умолчанию при запуске ng build (только сборка) или ng serve (сборка и обслуживание локально) команд консоли. Для компиляции AOT включите параметр --aot с командами ng build или ng serve:

ng build --aot
ng serve --aot

Команда ng build с мета-флагом --prod (ng build --prod) компилируется с AOT по умолчанию

Вы можете настроить angular.json для включения aot по умолчанию для определенного Команда, вот как вы добавляете aot для build:

"build": {
    options {
        ...
        "aot": true,
    } 
}

AOT build и serve рекомендуется командой angular, но пока не используется по умолчанию. Подробнее здесь

...