Angular CLI - разные наборы ресурсов разработчика и продукта - PullRequest
0 голосов
/ 29 мая 2020

Кажется, я не могу найти, можно ли и как можно использовать другой набор активов всякий раз, когда я использую --prod переключатель ng build.

Вариант использования: у меня есть несколько проектов с общим набором ресурсов в общей папке, поэтому конфигурация каждого отдельного проекта в angular. json выглядит следующим образом:

"assets": [
  {
    "glob": "**/*",
    "input": "src/assets",
    "output": "/assets/"
  },
  {
    "glob": "**/*",
    "input": "projects/project1/src/assets/",
    "output": "/assets/"
  }
],
...
"assets": [
  {
    "glob": "**/*",
    "input": "src/assets",
    "output": "/assets/"
  },
  {
    "glob": "**/*",
    "input": "projects/project2/src/assets/",
    "output": "/assets/"
  }
],

При создании производственных сборок я хотел бы удалить общий путь src/assets.

Возможно ли?

Ответы [ 2 ]

1 голос
/ 29 мая 2020

Вам нужна проверка для настройки конфигурации. Эта конфигурация поможет вам создать другую среду для вашего проекта. В вашем случае проекта 2.

вам необходимо установить другую среду на angular. json

"project2": {
          "fileReplacements": [
            {
              "replace": "", //project 1 folder
              "with": "" // project 2 folder
            },
            {
              "replace": "src/environments/environment.ts",
              "with": "src/environments/environment.prod.ts"
            }
          ]
        }

после настройки вы можете нажать команду

ng build --configuration project2

Примечание: вам необходимо установить необходимый параметр в новой среде, как показано ниже

"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,

Подробная ссылка на официальную документацию https://angular.io/guide/build

0 голосов
/ 29 мая 2020

Думаю, ответ был прямо у меня под носом: каждый объект configurations допускает переопределение свойства assets.

Итак, конфигурация моих требований так же проста, как:

{
"configurations": {
  "production": {
     "assets": [
       {
         "glob": "**/*",
         "input": "projects/project1/src/assets/",
         "output": "/assets/"
       }
     ],
     ...
  }
}

Работает как шарм.

...