工作空间的配置文件用途:
angular.json:为工作区中的所有项目指定CLI的默认配置,包括CLI要用到的构建、启动开发服务器和测试工具的配置项。
package.json:配置工作空间中的所有项目可用的npm依赖包。
package-lock.json:提供npm客户端安装到node_modules的所有软件包的版本信息。
tsconfig.json:工作空间中各个项目的默认TypeScript配置。
src/:根目录的源文件
src下的子文件夹:
app/:包含应用逻辑和数据的组件文件
assets/:包含要在构建应用时应该按原样复制的图像和其他的静态资源文件。
environments/:包含特定目标环境的构建配置选项,默认情况下,有一个无名的标准开发环境和一个生产环境。
index.html:当有人访问你的站点时,提供服务的主要html页面,cli会在构建应用的时候自动添加所有的js和css文件。
main.ts:应用的主要切入点,默认用JIT编译器编译应用,然后引导应用的根模块(AppModule)在浏览器中运行。
应用配置文件
tsconfig.app.json:应用专属的typescript配置。
angular.json文件结构
version:该配置文件的版本
newProjectRoot:用于创建新工程的位置
defaultProject:当命令中没有指定参数时,要使用的默认工程名。
schematics:用于定制ng generate子命令在本工作空间中的默认选项。
projects:对于工作区中的每个项目都会包含一个子分区,子分区中是每个项目的配置项。
项目配置选项
每个项目都有下面的顶级配置属性
"my-app": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"prefix": "app",
"schematics": {},
"architect": {}
}
其中:
root:该项目的根文件夹,相对于工作区文件夹的路径。初始应用的值为空,因为它位于工作区的顶层。
sourceRoot:该项目源文件的根文件夹
projectType:“application”或者“library”
prefix:angular所生成的选择器的前缀字符串
schematics:为该项目自定义ng generate子命令的默认选项
architect:为项目的各个构建器目标配置默认值。
architect是指cli用来根据所提供的配置执行复杂任务(如编译和测试运行)的工具。
architect中配置属性:
"architect": {
"build": { },
"serve": { },
"e2e" : { },
"test": { },
"lint": { },
"extract-i18n": { },
"server": { },
"app-shell": { }
}
其中
build:为ng build命令的选项配置默认值
serve:会覆盖构建默认值,并为ng serve命令提供额外的服务器默认值。除了ng build命令的可用选项外,还增加了与开发服务器有关的选项。
build中的配置属性:
builder:用于构建此目标的构建工具的npm包,默认是
@angular-devkit/build-angular:browser,它使用的是webpack打包器。
options:包含构架选项的默认值,当没有指定命名的备用配置时使用。
configurations:定义并命名针对不同目标的备用配置,为每个命名配置都包含一节,用于设置该目标环境的默认选项。默认情况下,会定义一个production配置,ng build命令会使用这个配置下的--prod选项,这里的production配置会设置各种默认值来优化应用,例如打包文件、最小化多余空格等。你可以定义和命名适用于你的开发工程的其他备用配置,例如dev,test。
具体参考:https://angular.cn/guide/workspace-config#build-configs
网友评论