Переместите .tsconfig и .tslint файл в другой каталог - PullRequest
0 голосов
/ 27 сентября 2018

Внутри моего проекта Angular CLI я хочу переместить все мои файлы конфигурации в новую папку, которую я назвал «angular».Код компилируется, и все npm-скрипты запускаются, но я не получаю никаких ошибок lint или typcript внутри моей папки app.Вот структура папок, которую я пытаюсь использовать:

 project
    │   tslint.config.json
    │   tslint.json    
    │
    └───src
         │   
         └───angular
         │   tsconfig.app.json
         │   tslint.json
         │     
         └───app
              │   app.module.ts
              │   app.component.ts

Все ссылки внутри моего файла angular.json были обновлены и ошибок нет, но единственное место, где работает линтер, это INSIDE of angular.папка!Как я могу изменить это, чтобы указать на мою папку «приложение»?Причина, по которой я хочу сделать эту настройку, заключается в том, чтобы файлы, которые я почти никогда не использовал, были вне поля зрения, например:

enter image description here

1 Ответ

0 голосов
/ 27 сентября 2018

Исходя из образа вашей структуры каталогов, я предполагаю, что вы пытаетесь настроить VS Code специально для подсветки синтаксиса?

Если это так, вы можете создать конфигурацию, специфичную для рабочей области, для вашейпроект, явно определяющий, где VS Code может найти конфигурацию tslint.json.По умолчанию VS Code будет искать в корне вашего проекта конфигурацию tslint.Чтобы настроить собственную конфигурацию рабочего пространства, вы можете следовать инструкциям из VS Code Documentation .На моем Mac я выбираю следующие пункты меню:

Код -> Настройки -> Настройки

Оттуда я выбираю:

Вкладка «Параметры рабочего пространства» и «Расширения» -> TSLint на боковой панели «Параметры рабочего пространства»

Существует свойство для файла конфигурации, где вы можете указать путь к своей конфигурации TSLint относительно корня проекта.Для вас это будет "./src/angular/tslint.json"

TSLint Config File location

Чтобы получить консольный вывод tslint для вашего проекта, вы должнынеобходимо явно указать, где существуют ваши файлы конфигурации tslint и tsconfig, поскольку они не находятся в корне вашего проекта:

tslint -c src/angular/tslint.json -p src/angular/tsconfig.json

Я считаю, что VS Code настроен для использования локально установленноговерсия Typescript по умолчанию, основанная на версии, установленной в вашем каталоге node_modules / typescript.Из-за этого вы будете продолжать получать отзывы о ваших ошибках машинописи на основе локальной установки машинописи или, альтернативно, глобально установленной версии машинописи.

В документации машинописи говорится, что:

Наличие файла tsconfig.json в каталоге указывает на то, что каталог является корнем проекта TypeScript .

Так что перемещение вашего tsconfig.json куда угодно, кроме корняпроект будет идти вразрез с предполагаемой природой вашей конфигурации машинописного текста, однако вы все равно можете скомпилировать свой код, если ваш tsconfig.json не находится в корне проекта, вызвав (или создав сценарий npm, сделайте то же самое):

tsc --project ./src/angular/tsconfig.json

Предполагая, что у вас есть определение "include" в вашем файле tsconfig.json:

{
  "compilerOptions": {
    /* your compiler options */
  },
  "include": [
    // source code for project is one directory up from tsconfig.json
    "../**/*",
  ]
}
...