Запустите ng build --prod с другими настройками среды - PullRequest
0 голосов
/ 29 июня 2018

У меня разные настройки env для каждого клиента, каждый из которых имеет свои {{custName}} / файл environment.prod.ts. Я хочу использовать их соответствующие файлы среды prod с помощью команды ng build --prod. Проблема, с которой я сталкиваюсь, заключается в том, что даже после указания среды используется стандартная среда environment.prod.ts

Мой package.json имеет скрипт типа

{.....
   customer_a : "ng build --prod --environment=custA_prod",
....}

В angular-cli.json Я упомянул путь, который идет примерно так

  "environments": {
        "dev": "environments/environment.ts",
        "prod": "environments/environment.prod.ts",
        "qa": "environments/environment.qa.ts",
        "custA_prod": "environments/custA/environment.prod.ts"
}

Можно ли использовать все функции сборки prod, но с некоторыми другими настройками среды?

Ответы [ 3 ]

0 голосов
/ 29 июня 2018

Я думаю, что есть проблема с определением относительного пути новой среды.

шаг 1: создайте файл среды prod для custA внутри каталога среды. например environment.custA.prod.ts

export const environment = { 
   mock: false,
   production: true,
   development: false,
   title: 'prod'
}

шаг 2: Определите среду в .angular-cli.json

environments: {
  "dev": "environments/environment.app.ts",
   "prod": "environments/environment.app.prod.ts",
   "mock": "environments/environment.app.mock.ts",
   "prod-custA": "environments/environment.custA.prod.ts"
}

шаг 3: Определите скрипт в package.json

start-prod-custA : "ng build --prod --environment=prod-custA"
0 голосов
/ 04 января 2019

После Angular 6+ файл angular.cli.json был заменен на angular.json. Мы должны использовать --configuration как ниже

package.json

"build_dev": "npm run && ng build --configuration=test",

angular.json

...
 "configurations": {
.....
"test": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.test.ts"
                }
              ]
            }
          }
0 голосов
/ 29 июня 2018

пометить как производственный режим в вашем файле среды:

environment / custA / environment.prod.ts Файл:

export const environment = {
  production: true,
  envName: "custA_prod",
  .....
};

Или добавьте main.ts свой пользовательский чек:

import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

import { AppModule } from './app/app.module';
import { environment } from './environments/environment';

if (environment.production || environment.envName == 'custA_prod') {
  enableProdMode();
}

platformBrowserDynamic().bootstrapModule(AppModule);
...