Angular CLI工作空间中ng g命令无法生成文件到指定子目录
解决Angular CLI工作空间中
ng g生成文件路径错误的问题 问题根源
你的angular.json里angular-app项目的root配置有误,导致Angular CLI计算生成路径时基准目录出错:
- 当前
root设为projects/angular-app/src/app,这是应用代码的根目录,而非项目本身的根目录 - 项目根目录应当是
projects/angular-app,sourceRoot保持projects/angular-app/src即可
修复步骤
- 修改
angular.json中angular-app项目的配置:
"projects": { "angular-app": { "projectType": "application", "schematics": { "@schematics/angular:component": { "style": "scss" }, "@schematics/angular:application": { "strict": true } }, "root": "projects/angular-app", "sourceRoot": "projects/angular-app/src", // 其余原有配置保持不变 } }
- 重新执行生成命令:
- 若工作空间仅包含这一个项目,直接运行:
ng g m jobs - 若存在多个项目,指定项目运行:
ng g m jobs --project=angular-app
- 若工作空间仅包含这一个项目,直接运行:
修改后,生成的文件会自动放入projects/angular-app/src/app/jobs/jobs目录。
额外优化
如果希望所有生成的代码默认放在src/app下,可在项目的schematics中添加路径配置:
"schematics": { "@schematics/angular:module": { "path": "src/app" }, "@schematics/angular:component": { "style": "scss", "path": "src/app" } // 其他需要默认路径的schematics可同理配置 }
内容的提问来源于stack exchange,提问作者blubberbo
相关产品推荐
相关产品推荐

