Angular JSON配置详解:从angular-cli.json到monorepo模式

0 下载量 96 浏览量 更新于2024-08-31 收藏 104KB PDF 举报
"关于Angular CLI的angular.json文件使用详解" 在Angular CLI 6及以上版本中,配置文件`angular-cli.json`被替换为`angular.json`,这主要是为了适应新的开发模式和增强灵活性。Angular CLI引入了monorepo管理模式,使得一个工作空间可以管理多个项目和组件库,提升了开发效率和代码复用。对于大型企业或有多个产品的团队,这种模式尤其有利,它允许共享环境设置、组件和npm包。 在monorepo结构中,各个项目和库被组织在一个共同的根目录下,通过`angular.json`进行配置。尽管对于单项目开发,这一改变可能不太显著,但理解新文件的构成仍然很重要,以避免迁移旧项目时出现错误。 `angular.json`文件包含了项目的各种配置信息,其核心字段包括: 1. `$schema`: 这个字段指向一个JSON Schema文件,定义了`angular.json`的所有合法字段和它们的约束。在支持JSON Schema的IDE或编辑器中,它能提供自动补全和验证功能,帮助开发者编写正确的配置。 2. `version`: 表示`angular.json`文件的版本号,随着Angular CLI的更新,此值也会随之变化。 3. `newProjectRoot`: 指定新创建项目的位置。默认情况下,新项目将被放在`projects`目录下。 4. `projects`: 此对象包含了工作空间中的所有项目及其配置。每个项目都有自己的`root`、`sourceRoot`、`projectType`、`prefix`等属性。 - `root`: 项目的主要目录,存放项目的文件。 - `sourceRoot`: 项目的源码目录,通常包含`src`目录,是应用源代码的根目录。 - `projectType`: 项目类型,可以是`application`(应用程序)或`library`(库)。 - `prefix`: 默认指令、管道和服务的前缀,如`app`表示指令前缀为`app-`。 - `schematics`: 配置自定义的Schematics,用于自动化代码生成。 - `architect`: 构建和开发的配置,包括`build`、`serve`、`test`等目标。 5. `defaultProject`: 指定默认项目,当不指定项目名时,CLI会使用这个项目的配置。 `architect`下的`build`目标是构建相关的配置,例如输出目录、生产环境优化等;`serve`目标则是关于本地开发服务器的设置。其他目标如`test`、`lint`和`e2e`则分别对应测试、代码检查和端到端测试。 通过理解并掌握`angular.json`文件的结构和字段,开发者能够更有效地定制Angular应用的构建流程,从而满足特定的开发需求。对于多项目环境,`angular.json`更是管理和维护项目配置的关键。因此,熟悉这个文件的使用是Angular CLI开发中不可或缺的一部分。