Angular14新建子项目缺失angular.json、package.json问题咨询
问题解答
你遇到的所有现象都是Angular多项目工作区的标准设计,不属于版本异常,不需要手动为子项目补全缺失的根级配置文件。
核心规则说明
- 多项目工作区模式下,根目录的配置文件为所有子项目(包含本地库、测试应用)共享:根目录
angular.json统一维护所有子项目的构建、启动、测试规则;根目录package.json统一管理全工作区的依赖版本,所有子项目共用根目录下的node_modules依赖;根目录tsconfig.json提供全局TypeScript编译基准配置,子项目目录下的tsconfig.app.json、tsconfig.lib.json仅需覆写和项目自身相关的个性化配置即可。 - 从Angular 12版本开始,工作区内新建子应用时就不会默认生成独立的e2e测试目录,e2e相关能力需要按需手动初始化;子项目目录下不会生成独立的
angular.json、package.json、依赖锁文件,这一逻辑在Angular 14中没有变化,属于默认行为。 - WebStorm未自动生成运行/调试配置是IDE的识别逻辑问题:IDE默认从工作区根目录扫描Angular配置生成运行项,和项目结构本身无关,只要执行
ng serve <你的应用名称>可以正常启动,就说明项目结构没有问题。
关于版本管理的说明
Angular没有强制要求必须对整个工作区做统一版本管理。如果需要对单个子项目单独做版本控制,不需要给子项目补全全套根级配置,直接在对应子项目目录下单独初始化Git仓库即可,根目录是否保留Git仓库不影响子项目的正常开发和构建。
如果后续需要将某个库单独发布、或者拆分为独立仓库,仅需在对应子项目目录下补充独立的package.json声明自身版本、依赖信息,调整构建输出路径即可,不需要在开发阶段提前补全全套配置。
注意:不要随意为工作区内的子项目手动补全根级
angular.json、独立package.json,会破坏Angular CLI对工作区结构的识别,反而导致本地库引用、构建、启动命令失效。
内容的提问来源于stack exchange,提问作者Guilherme Taffarel Bergamin
相关产品推荐
相关产品推荐

