繁体   English   中英

Angular-cli忽略tsconfig.json

[英]Angular-cli ignores tsconfig.json

运用

"@angular/cli": "^1.0.0"

@angular/cli忽略tsconfig.json

该项目编译很好编辑/删除tsconfig.json

这是为什么?

您的项目在没有 $ROOT/tsconfig.json 情况下编译的原因是@angular/cli支持根目录中的多个应用程序; 您的(单个)应用程序正在使用$ROOT/src/tsconfig.app.json和您的测试套件使用$ROOT/src/tsconfig.spec.json root tsconfig.json适用于目录中的所有应用程序。 删除它只是删除了可能与许多应用程序一起使用的全局 tsconfig

为了更清楚地了解这一点,请查看.angular-cli.json 一个属性app支持多个应用程序的数组,但默认配置仅适用于一个应用程序。 @angular/cli/lib/config/schema.jsonapp支持“此项目中不同应用程序的属性”。

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

使用此数组,您可以拥有任意数量的Angular应用程序,每个应用程序都有自己特定的TypeScript设置。

另外, @angular/cli的命令支持带有--app标志的多个应用程序。 ng serve --app foo将为foo app提供服务,而ng serve --app bar将为bar应用提供服务。 该标志也适用于ng buildng e2eng ejectng testng xi18n 要在现有的$ROOT目录中添加新应用,请使用ng new

root tsconfig不仅适用于代码编辑器和tslint 它适用于项目中的所有应用程序。 它的工作原理相当复杂,从源代码可以清楚地看出,其中有许多json文件都有诸如"extends": "../../../tsconfig.json"

尽管看起来很愚蠢,但是angular-cli的tsconfig.json文件位于src/tsconfig.app.json

编辑器将使用根tsconfig.json (例如vscode)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM