angular 7 cli 在各自的目录中生成每个服务、管道等
angular 7 cli generate each service, pipe,etc in their own directory
当我 运行 ng g service services/MyService
使用 Angular Cli 的早期版本时,它创建了:
services/my-service/my-service.service.ts
services/my-service/my-service.service.spec.ts
但现在它创造了
services/my-service.service.ts
services/my-service.service.spec.ts
有没有办法在不写冗长的情况下回到其他行为ng g service services/my-service/MyService ?
我没有找到任何相关的东西,但也许我没有使用正确的关键字。
生成服务时,flat
标志默认为 true
。
我建议以下之一(尚未在 Angular CLI 7 上测试,但两者都适用于 Angular CLI 6)
ng g service services/my-service --no-flat
ng g service services/my-service --flat=false
虽然您可以在每次执行 ng generate
时传递 --flat=false
以便根据 service/pipe/directive 名称创建目录,但实际上您可以覆盖默认的原理图选项,例如 flat
在 angular.json
中的项目级别,以避免每次在命令行上都需要传递 --flat=false
选项。例如,要在执行 ng g service services/MyService
时将 flat
设置为 false
,您可以在 schematics
[=] 中添加额外的 属性、@schematics/angular:service
angular.json
中相应项目的 38=]:
...
"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
看到默认的原理图选项。有许多选项,您可以精确调整您想要生成的内容以及如何避免需要记住选项并将选项传递给命令行。
如果您有多个项目,您可以在与 projects
相同的级别创建一个 属性 schematics
来覆盖所有项目的原理图选项。
希望对您有所帮助!
当我 运行 ng g service services/MyService
使用 Angular Cli 的早期版本时,它创建了:
services/my-service/my-service.service.ts
services/my-service/my-service.service.spec.ts
但现在它创造了
services/my-service.service.ts
services/my-service.service.spec.ts
有没有办法在不写冗长的情况下回到其他行为ng g service services/my-service/MyService ?
我没有找到任何相关的东西,但也许我没有使用正确的关键字。
生成服务时,flat
标志默认为 true
。
我建议以下之一(尚未在 Angular CLI 7 上测试,但两者都适用于 Angular CLI 6)
ng g service services/my-service --no-flat
ng g service services/my-service --flat=false
虽然您可以在每次执行 ng generate
时传递 --flat=false
以便根据 service/pipe/directive 名称创建目录,但实际上您可以覆盖默认的原理图选项,例如 flat
在 angular.json
中的项目级别,以避免每次在命令行上都需要传递 --flat=false
选项。例如,要在执行 ng g service services/MyService
时将 flat
设置为 false
,您可以在 schematics
[=] 中添加额外的 属性、@schematics/angular:service
angular.json
中相应项目的 38=]:
...
"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
看到默认的原理图选项。有许多选项,您可以精确调整您想要生成的内容以及如何避免需要记住选项并将选项传递给命令行。
如果您有多个项目,您可以在与 projects
相同的级别创建一个 属性 schematics
来覆盖所有项目的原理图选项。
希望对您有所帮助!