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"
}