Вам необходимо использовать новую опцию 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 и, в зависимости от ваших потребностей, в обслуживайте и тестируйте задания.
Добавление новой среды
Редактировать :
Чтобы было понятно, замены файлов должны быть указаны в разделе 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
, чтобы добавить новую конфигурацию, указав на конфигурацию dev2 build
, которую вы только что объявили
"serve":
"configurations": {
"dev2": {
"browserTarget": "projectName:build:dev2"
}
Тогда вы можете использовать ng serve -c dev2
, который будет использовать конфигурационный файл dev2