angular.json
 
以前是angular-cli.json,现在换成angular.json。 利用ng new my-app 命令创建angular项目后,根目录会出现angular.json 
 
配置说明
 
{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1.0,
  "newProjectRoot": "projects", //项目名称
  "projects": {
    "Qloud": {
      "root": "",
      "sourceRoot": "src",//源文件目录名
      "projectType": "application",//是应用还是库
      "prefix": "app",//通过ng component创建组件时的统一前缀
      "schematics": {
        "@schematics/angular:component": {
          "styleext": "scss",
          "spec": false
        }
      },
      "architect": { //命令配置
        "build": {//打包配置
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "./backend/web",//输出目录
            "index": "src/index.html",//入口页面
            "main": "src/main.ts",//入口文件
            "polyfills": "src/polyfills.ts",//腻子
            "tsConfig": "src/tsconfig.app.json",//ts配置
            "assets": [//静态资源目录
              "src/favicon.ico",
              "src/assets"
            ],
            "scripts": [//打包的第三方脚本
              "node_modules/chart.js/dist/Chart.js",
              "node_modules/screenfull/dist/screenfull.js",
              "node_modules/hammerjs/hammer.min.js",
              "src/assets/js/scripts.bundle.js"
            ],
            "styles": [//打包的css
              "node_modules/font-awesome/scss/font-awesome.scss",
              "src/styles.scss"
            ]
          },
          "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
            },
            "hmr": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.hmr.ts"
                }
              ]
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "Qloud:build"  //这里可以添加port,baseHref等自定义配置
          },
          "configurations": {
            "production": {
              "browserTarget": "Qloud:build:production"
            },
            "hmr": {
              "hmr": true,
              "browserTarget": "Qloud:build:hmr"
            }
          }
        },
        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "browserTarget": "Qloud:build"
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.spec.json",
            "karmaConfig": "src/karma.conf.js",
            "styles": [
              "src/styles.scss"
            ],
            "scripts": [],
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ]
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": [
              "src/tsconfig.app.json",
              "src/tsconfig.spec.json"
            ],
            "exclude": [
              "**/node_modules/**"
            ]
          }
        }
      }
    },
    "Qloud-e2e": {
      "root": "e2e/",
      "projectType": "application",
      "architect": {
        "e2e": {
          "builder": "@angular-devkit/build-angular:protractor",
          "options": {
            "protractorConfig": "e2e/protractor.conf.js",
            "devServerTarget": "Qloud:serve"
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": "e2e/tsconfig.e2e.json",
            "exclude": [
              "**/node_modules/**"
            ]
          }
        }
      }
    }
  },
  "defaultProject": "Qloud"
}