Ответ 1
Вам нужно использовать новую опцию configuration
(это работает и для ng build
и для ng serve
)
ng serve --configuration=local
или же
ng serve -c local
Если вы посмотрите на свой файл angular.json
, вы увидите, что у вас есть более точный контроль над настройками для каждой конфигурации (например, оптимизатор, файлы среды,...)
"configurations": {
"production": {
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
]
}
}
Вы можете получить больше информации здесь для управления конфигурациями среды.
Как указано в другом ответе ниже, если вам нужно добавить новую "среду", вам нужно добавить новую конфигурацию в задачу сборки, а также, в зависимости от ваших потребностей, в задачи обслуживания и тестирования.
Добавление новой среды
Редактировать: чтобы было понятно, замены файлов должны быть указаны в разделе build
. Поэтому, если вы хотите использовать ng serve
с определенным файлом environment
(скажем, dev2), вам сначала нужно изменить раздел build
чтобы добавить новую конфигурацию dev2
"build": {
"configurations": {
"dev2": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.dev2.ts"
}
/* You can add all other options here, such as aot, optimization, ... */
],
"serviceWorker": true
},
Затем измените раздел serve
чтобы добавить новую конфигурацию, указывая на конфигурацию build
dev2, которую вы только что объявили
"serve":
"configurations": {
"dev2": {
"browserTarget": "projectName:build:dev2"
}
Затем вы можете использовать ng serve -c dev2
, который будет использовать конфигурационный файл dev2