Хотя вы можете передавать --flat=false
каждый раз при выполнении ng generate
, чтобы каталог создавался на основе имени службы/канала/директивы, вы можете фактически переопределить параметры схемы по умолчанию, такие как flat
, на уровне проекта в angular.json
, чтобы избежать необходимости передавать параметр --flat=false
каждый раз в командной строке. Например, чтобы установить flat
в false
при выполнении ng g service services/MyService
, вы должны добавить дополнительное свойство @schematics/angular:service
в свойство schematics
соответствующего проекта в angular.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
, чтобы переопределить параметры схемы для всех проектов.
Надеюсь, это поможет!
person
Alexander Staroselsky
schedule
31.01.2019