В чем разница в сборке Angular между environment.production и flag --prod

У меня есть настраиваемая среда в Angular

└──myProject/src/environments/
                   └──environment.ts
                   └──environment.prod.ts
                   └──environment.custom.ts

обозначить как производство

export const environment = {
  production: true
};

А в документации выглядит так, как флаг

--prod

Но я вижу некоторую разницу в именах файлов (как я спрашиваю и решил здесь), если я запускаю

ng build --configuration=custom

или же

ng build --configuration=custom --prod

Это не совсем так? Что делать каждому?

1 ответ

В --prod flag делает гораздо больше, чем включение производственного флага в default / customize environment.tsфайл. Он использует предварительную компиляцию и удаляет некоторые ненужные вещи, изменяет ненаучный код и делает еще несколько хороших вещей для вашего кода. коротко:

Мета-флаг --prod включает следующие функции оптимизации сборки.

  • Компиляция с опережением времени (AOT): предварительная компиляция шаблонов компонентов Angular.
  • Производственный режим: развертывает производственную среду, которая включает производственный режим.
  • Объединение: объединяет множество файлов приложений и библиотек в несколько пакетов.
  • Минификация: удаляет лишние пробелы, комментарии и необязательные токены.
  • Утилизация: переписывает код, чтобы использовать короткие загадочные имена переменных и функций.
  • Устранение мертвого кода: удаляет модули, на которые нет ссылок, и много неиспользуемого кода.

Я думаю, вам следует прочитать эту часть документации Angular: https://angular.io/guide/deployment#production-optimizations

Удачи:)

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