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
    }
  },
