Angular 6 + CLI (TypeScript) - как остановить генерацию.спекуляция.ТС тестовые файлы
Я знаю, что это своего рода плохая практика, но пара со мной:
Я использую Angular-CLI и особенно ng g
для генерации всех моих классов, однако, меня не интересует ни один тестовый файл *.spec.ts
и я знаю, что есть два флага (--inline-template
,--inline-style
) для обработки встроенных CSS и HTML вместо разделенных файлов.
и для спецификации флаг по умолчанию установлен в true --spec
так что для каждого запуска, да, я могу сделать это ng g c foo --it --is --spec=false
но как отключить создание тестовые файлы по всему миру? есть ли какие-либо настройки по умолчанию для него?
опрометчиво, я сделал некоторые вещи, как (который не работает):
ng set spec=false --global
затем попытался настроить файл настроек ts src/tsconfig.json
путем заполнения массива exclude.
"exclude": [
"**/*.spec.ts"
]
4 ответов
вы можете запустить эту команду, чтобы отключить генерацию файлов спецификаций для определенного типа файла:
ng set defaults.spec.FILETYPE false
например:
ng set defaults.spec.component false // Won't generate spec files for .component files
В качестве альтернативы вы можете просто отключить все генерацию файлов спецификаций из angular-cli.файл json.
{
...
"defaults": {
"spec": {
"class": false,
"component": false,
"directive": false,
"module": false,
"pipe": false,
"service": false
}
}
}
Для Угловой 6>
конфигурация (например, генерация спецификаций) может быть выполнена с помощью углового CLI или вручную.
угловой CLI
ошибка:
на ng set defaults.spec.component false
команды приводит к ошибке: get/set have been deprecated in favor of the config command.
ng set got changed to ng config
.
использование углового CLI (использование команды config):
настройки генерации спецификаций, встроенных шаблонов, встроенного стиля и т. д. внутри angular.json
теперь сохраняются внутри schematics.@schematics/angular.<file-type>.<setting>
.
Run ng config schematics.@schematics/angular.component.spec false
для настройки спецификации для компонентов. Эта команда добавляет параметр внутри свойства schematics в поле angular.json
file (показано ниже).
вручную
настроить вручную внутри angular.json
:
отображаются все настраиваемые параметры для каждого типа файла (схемы Опции).
{
// ...
"schematics": {
"@schematics/angular:component": {
"changeDetection": "Default",
"export": false,
"flat": false,
"inlineStyle": false,
"inlineTemplate": false,
"module": "",
"prefix": "",
"selector": "",
"skipImport": false,
"spec": true,
"styleext": "css",
"viewEncapsulation": "Emulated"
},
"@schematics/angular:module": {
"commonModule": true,
"flat": false,
"module": "",
"routing": false,
"routingScope": "Child",
"spec": true
},
"@schematics/angular:service": {
"flat": true,
"spec": true
},
"@schematics/angular:pipe": {
"export": false,
"flat": true,
"module": "",
"skipImport": false,
"spec": true
},
"@schematics/angular:directive": {
"export": false,
"flat": true,
"module": "",
"prefix": "app",
"selector": "",
"skipImport": false,
"spec": true
},
"@schematics/angular:class": {
"spec": true
}
}
// ...
}
угловой файл рабочего пространства CLI (угловой.в JSON) на угловые на GitHub
просто обновить Sabbir Рахмана:
в версии 1.0.2 CLI вам нужно будет установить файл спецификации в false для каждого отдельного типа. Ниже приведен пример:
"defaults": {
"styleExt": "scss",
"component": {
"spec": false
},
"service": {
"spec": false
},
"directive": {
"spec": false
},
"class": {
"spec": false // Set to false by default
},
"module": {
"spec": false // Set to false by default
},
"pipe": {
"spec": false
}
}
Если вы используете v6 и вам нужно отредактировать свой угловой.в JSON
вы можете редактировать схему для вашего проекта.
"schematics": {
"@schematics/angular:component": {
"styleext": "scss",
"spec": false
},
"@schematics/angular:class": {
"spec": false
},
"@schematics/angular:directive": {
"spec": false
},
"@schematics/angular:guard": {
"spec": false
},
"@schematics/angular:module": {
"spec": false
},
"@schematics/angular:pipe": {
"spec": false
},
"@schematics/angular:service": {
"spec": false
}
},