如何添加/设置环境Angular 6 angular.json文件

Dan*_*ram 40 angular angular6

如何指定Angular 6中使用的环境?该.angular-cli.json文件似乎angular.json已从以前的版本更改为json内部结构.

如何/在此文件中指定要使用的环境?

raw*_*med 46

打开angular.json文件.默认情况下,我们可以看到配置,它们将针对您各自的环境显示生产添加代码段.在dev环境中添加environment.dev.ts文件,为qa添加environment.qa.ts.你喜欢的名字.使用

 ng serve --configuration=environment_name
Run Code Online (Sandbox Code Playgroud)

environment_name - (dev,qa,prod)ng build可以遵循相同的过程

"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
        },
        "dev": {
          "fileReplacements": [
            {
              "replace": "src/environments/environment.ts",
              "with": "src/environments/environment.dev.ts"
            }
          ],
          "optimization": true,
          "outputHashing": "all",
          "sourceMap": true,
          "extractCss": true,
          "namedChunks": false,
          "aot": true,
          "extractLicenses": true,
          "vendorChunk": false,
          "buildOptimizer": true
        },
        "qa": {
          "fileReplacements": [
            {
              "replace": "src/environments/environment.ts",
              "with": "src/environments/environment.qa.ts"
            }
          ],
          "optimization": true,
          "outputHashing": "all",
          "sourceMap": false,
          "extractCss": true,
          "namedChunks": false,
          "aot": true,
          "extractLicenses": true,
          "vendorChunk": false,
          "buildOptimizer": true
        }
      }
Run Code Online (Sandbox Code Playgroud)

  • 您可以使用ng build --configuration = environment_name进行构建。要使用ng serve运行,请在angular.json文件的serve属性中添加代码段“ serve”:{.....“ configurations”:{“ production”:{“ browserTarget”:“ AppName:build:production”},“ environment_name“:{” browserTarget“:” AppName:build:environment_name“},}然后使用ng-serve --configuration = environment_name (3认同)
  • 这是我正在寻找的信息!默认的angular.json文件只包含生产配置,因此我不知道如何设置其他环境,如dev. (2认同)

wct*_*ger 14

我尝试了在Angular 6应用程序中添加新配置'test'的答案,然后运行

ng serve --configuration=test
Run Code Online (Sandbox Code Playgroud)

并且在项目中找不到"配置'测试'时出错".向下看angular.json文件,在"build"下面有另一个叫做"serve"的部分.需要将新配置添加到"服务"下的配置部分,以使服务器能够使用它:

"serve": {
      "builder": "@angular-devkit/build-angular:dev-server",
      "options": {
        "browserTarget": "my-app:build"
      },
      "configurations": {
        "production": {
          "browserTarget": "my-app:build:production"
        },
        "test": {
          "browserTarget": "my-app:build:test"
        }
      }
    },
Run Code Online (Sandbox Code Playgroud)

  • @DanielNetzer 为了让服务像答案中提到的那样运行,我仍然需要添加这部分。 (2认同)