虽然您可以在--flat=false每次执行时传递ng generate,以便根据服务/管道/指令名称创建目录,但您实际上可以覆盖默认原理图选项,例如flat在项目级别,angular.json以避免--flat=false每次都需要在命令上传递选项线。例如,要在执行时设置flat为,您可以在相应项目的属性中添加一个附加属性:falseng g service services/MyService@schematics/angular:serviceschematicsangular.json
...
"projects": {
"sample-angular": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"prefix": "app",
"schematics": {
"@schematics/angular:service": {
"flat": false
}
},
...
}
添加此覆盖后,运行命令会ng g service services/MyService生成以下输出:
CREATE src/app/services/my-service/my-service.service.spec.ts (349 bytes)
CREATE src/app/services/my-service/my-service.service.ts (138 bytes)
您可以覆盖所需的任何特定原理图,无论是用于管道、服务、组件、模块还是指令。您可以在 中查看默认原理图选项/node_modules/@angular/cli/lib/config/schema.json。有许多选项,您可以精确调整您想要生成的内容以及如何避免需要记住选项并将选项传递给命令行。
如果您有多个项目,您可以schematics在同一级别创建一个属性,projects以覆盖所有项目的原理图选项。
希望这会有所帮助!