Angular-cli игнорирует tsconfig.json

С помощью

"@angular/cli": "^1.0.0"

@angular/cli игнорируемых tsconfig.json

Проект компилируется просто отлично, редактирование / удаление tsconfig.json

Это почему?

2 ответа

Решение

Каким бы глупым это ни казалось, tsconfig.json файл находится внутри src/tsconfig.app.json

Корень tsconfig.json будет использоваться редакторами (такими как vscode).

Причина, по которой ваш проект компилируется без $ROOT/tsconfig.json в том, что @angular/cli поддерживает несколько приложений в корневом каталоге; ваше (одиночное) приложение компилируется с $ROOT/src/tsconfig.app.json и ваш набор тестов с $ROOT/src/tsconfig.spec.json, Корень tsconfig.json применяется ко всем приложениям в каталоге. Удаление это просто удалил глобальный tsconfig это может потенциально использоваться со многими приложениями.

Для более ясного понимания этого, посмотрите на .angular-cli.json, Одно свойство, app, поддерживает массив из нескольких приложений, но конфигурация по умолчанию предназначена только для одного приложения. Как описано в @angular/cli/lib/config/schema.json, app поддерживает "свойства различных приложений в этом проекте".

"app": [{
  "root": "src"
  ...
  "tsconfig": "tsconfig.app.json",
  "testTsconfig": "tsconfig.spec.json"
}]

Используя этот массив, вы можете иметь столько приложений Angular, сколько вам нужно, каждое со своими собственными настройками TypeScript.

Дополнительно, @angular/cliКоманды поддерживают несколько приложений с --app флаг. ng serve --app foo будет служить foo приложение, тогда как ng serve --app bar будет служить bar приложение. Этот флаг также работает с ng build, ng e2e, ng eject, ng test, а также ng xi18n, Чтобы добавить новое приложение к существующему $ROOT каталог, использовать ng new,

Корень tsconfig не только для редакторов кода и tslint, Это относится ко всем приложениям в вашем проекте. Как это работает под капотом, довольно сложно, как ясно из исходного кода, где есть множество файлов json, которые имеют такие строки, как "extends": "../../../tsconfig.json",

Другие вопросы по тегам