При работе с приложениями Angular команда «ngserve» — это общий инструмент, используемый во время разработки для сборки и обслуживания приложения на локальном сервере разработки. По умолчанию «ngserve» включает автоматическую перезагрузку, которая обновляет приложение при каждом изменении исходного кода. Хотя эта функция отлично подходит для разработки, она не всегда идеальна для определенных ситуаций, особенно если вы хотите протестировать производственную сборку без перезагрузки. В этой статье мы рассмотрим несколько способов запуска ng serve в производственном режиме без автоматической перезагрузки.
Метод 1: использование флага «-prod»
Самый простой способ запустить «ngserve» в производственном режиме без перезагрузки — добавить к команде флаг «-prod». Этот флаг запускает производственную сборку и обслуживает приложение без включения автоматической перезагрузки. Вот пример:
ng serve --prod
Метод 2: отключение автоматической перезагрузки с помощью флага «-hmr».
Angular CLI поддерживает горячую замену модулей (HMR), что позволяет ускорить разработку за счет обновления только измененных модулей без обновления всего приложения. Используя флаг «-hmr», вы можете отключить функцию автоматической перезагрузки, сохраняя при этом преимущества HMR. Вот как его использовать:
ng serve --hmr=false
Метод 3: изменение конфигурации Angular
Другой подход — изменить конфигурацию Angular, чтобы явно отключить автоматическую перезагрузку. Откройте файл angular.json в корне вашего проекта Angular и найдите раздел «serve». Установите для свойства «hmr» значение «false», чтобы отключить автоматическую перезагрузку. Вот пример:
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"hmr": false
}
}
Метод 4: собственный сценарий в «package.json».
Вы можете создать собственный сценарий в файле «package.json», чтобы запускать «ngserve» в производственном режиме без автоматической перезагрузки. Добавьте следующий скрипт в раздел «скрипты»:
"scripts": {
"serve:prod": "ng serve --prod"
}
Теперь вы можете запустить ngserve без перезагрузки в производственном режиме, выполнив следующую команду:
npm run serve:prod
Запуск ng serve в производственном режиме без автоматической перезагрузки полезен, если вы хотите протестировать производительность и поведение вашего Angular-приложения в производственной среде. В этой статье мы рассмотрели несколько методов достижения этой цели, в том числе использование флага «-prod», отключение автоматической перезагрузки с помощью флага «-hmr», изменение конфигурации Angular и создание собственного скрипта в «package.json». Используя эти методы, вы можете оптимизировать рабочий процесс разработки и обеспечить более плавный переход от разработки к производству.