копирование ресурсов, общих для всех конфигураций - PullRequest
0 голосов
/ 26 марта 2019

В конфигурации моего проекта у меня есть следующая декларация активов:

"assets": [ "src/favicon.ico", "src/assets", "src/assets/fonts", "src/images", "src/web.config" ],

Тогда в моей конфигурации развертывания:

"deploy": { "assets": [ {"glob": "config.json", "input": "src/environments/", "output": "/"}],

При сборке с использованием конфигурации "deploy" объявленные выше ресурсы больше не развертываются. Развертывается только файл config.json.

Мне нужно добавить эти активы в массив ресурсов в «развертывание» в качестве обходного пути. Это правильный способ сделать это? Или есть способ избежать перезаписи декларации сборки активов?

1 Ответ

0 голосов
/ 26 марта 2019

Я не мог знать, почему вы настраиваете конкретное развертывание, оно уже настроено в angular.json, вы можете добавить новую конфигурацию в этот файл, как в приведенном примере, запустив ее с помощью ng build --c=build или запустить вторую конфидерацию с помощью ng build --c=staging где может стоять конфигурация

Кстати, вы должны получить папку dist, содержащую файлы ресурсов

  "build": {
      "builder": "@angular-devkit/build-angular:browser",
      "options": {
        "outputPath": "dist/AngularProject",
        "index": "src/index.html",
        "main": "src/main.ts",
        "polyfills": "src/polyfills.ts",
        "tsConfig": "src/tsconfig.app.json",
        "assets": [
          "src/favicon.ico",
          "src/assets",
          "src/web.config",
          "src/WEB-INF"
        ],
        "styles": [
          "src/styles.scss",
          "src/assets/css/fontawesome-all.min.css",
          "src/assets/css/themify-icons.css"
        ],
        "stylePreprocessorOptions": {
          "includePaths": [
          ]
      },
        "scripts": [
          "./node_modules/jquery/dist/jquery.js",
          "./node_modules/popper.js/dist/umd/popper.min.js",
          "./node_modules/bootstrap/dist/js/bootstrap.js",
          "./node_modules/jspdf/dist/jspdf.min.js",
          "./node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.js"
        ]
      },
      "configurations": {
        "production": {
          "fileReplacements": [
            {
              "replace": "src/environments/environment.ts",
              "with": "src/environments/environment.prod.ts"
            }
          ],
          "optimization": true,
          "outputHashing": "all",
          "sourceMap": false,
          "extractCss": true,
          "namedChunks": false,
          "aot": true,
          "extractLicenses": true,
          "vendorChunk": false,
          "buildOptimizer": true,
          "budgets": [
            {
              "type": "initial",
              "maximumWarning": "4mb",
              "maximumError": "5mb"
            }
          ]
        },
        "staging": {   // a new configuration 
          "fileReplacements": [
            {
              "replace": "src/environments/environment.ts",
              "with": "src/environments/environment.staging.ts"
            }
          ],
          "optimization": true,
          "outputHashing": "all",
          "sourceMap": false,
          "extractCss": true,
          "namedChunks": false,
          "aot": true,
          "extractLicenses": true,
          "vendorChunk": false,
          "buildOptimizer": true,
          "budgets": [
            {
              "type": "initial",
              "maximumWarning": "4mb",
              "maximumError": "5mb"
            }
          ]
        }
      }
    },

Для развертывания достаточно запустить ng build с необходимой конфигурацией

Я не уверен, что понял, в чем твоя проблема

...