-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathangular.json
168 lines (168 loc) · 5.36 KB
/
angular.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
// projects包含项目的所有配置信息
"projects": {
/** 项目名称 **/
"angular-cli-demo": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss",
"spec": false
},
"@schematics/angular:class": {
"spec": false
},
"@schematics/angular:directive": {
"spec": false
},
"@schematics/angular:module": {
"spec": false
},
"@schematics/angular:pipe": {
"spec": false
},
"@schematics/angular:service": {
"spec": false
}
},
// 指定了项目文件的根文件夹
"root": "",
"sourceRoot": "src",
"prefix": "app",
// 为本项目的各个构建器配置默认值
"architect": {
// 为 ng build 命令的选项配置默认值
"build": {
"builder": "@angular-builders/custom-webpack:browser",
"options": {
// 自定义webpack配置
"customWebpackConfig": {
// 自定义的webpack入口
"path": "./webpack.config.js",
"mergeStrategies": {
// webpack合并方式 append(默认) 添加到配置中 | prepend 添加到配置最前面 | replace 完全替换配置
"externals": "append"
}
},
// 构建后代码输出文件目录
"outputPath": "dist/demo",
// 主HTML
"index": "src/index.html",
// 项目入口
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
// ts配置文件路径
"tsConfig": "tsconfig.app.json",
// 添加到项目的全局上下文中的静态文件路径
"assets": [
{
"glob": "**/*",
"input": "./node_modules/@tethys/icons",
"output": "/assets/icons/"
}
],
// 添加到项目全局上下文中的样式文件(即全局样式)
"styles": ["node_modules/ngx-tethys/styles/index.scss"],
// 包含一些 JavaScript 脚本文件,用于添加到项目的全局中加载方式和 <script> 标签一样
"scripts": []
},
"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": "2mb",
"maximumError": "5mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb",
"maximumError": "10kb"
}
]
}
}
},
// ng serve
"serve": {
"builder": "@angular-builders/custom-webpack:dev-server",
"options": {
"browserTarget": "angular-cli-demo:build",
"customWebpackConfig": {
"path": "./webpack.config.js"
}
},
"configurations": {
"production": {
"browserTarget": "angular-cli-demo:build:production"
}
}
},
// ng xi18n
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "angular-cli-demo:build"
}
},
// ng test
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "src/test.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.spec.json",
"karmaConfig": "karma.conf.js",
"assets": ["src/favicon.ico", "src/assets"],
"styles": ["src/styles.scss"],
"scripts": []
}
},
// 为 ng lint 命令配置了默认值,用于对项目源文件进行代码分析
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"tsconfig.app.json",
"tsconfig.spec.json",
"e2e/tsconfig.json"
],
"exclude": ["**/node_modules/**"]
}
},
// ng e2e 命令构建端到端测试应用
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "e2e/protractor.conf.js",
"devServerTarget": "angular-cli-demo:serve"
},
"configurations": {
"production": {
"devServerTarget": "angular-cli-demo:serve:production"
}
}
}
}
}
},
"defaultProject": "angular-cli-demo"
}