Angular中tsconfig.json和tsconfig.app.json文件之间的区别

kmg*_*kmg 8 html typescript package.json angular-cli angular

我是Angular的新手。我曾经angular-cli学习过有关angular的文章,并找到了文件tsconfig.jsontsconfig.app.json。这两个都是打字稿相关的,我发现此链接很有用。

但是为什么要使用两个这样的文件?为什么不能将这两个文件中的配置合并到一个文件中?请帮我解决这个问题。

小智 10

只是想再补充一点。

看来tsconfig.app.json(应用程序特定的)将覆盖tsconfig.json(全局的)。

我的问题是来自节点的类型声明不在我的 Angular 项目范围内,并且我收到编译错误,指出Buffer未找到。

我首先添加了类型声明,tsconfig.json认为它会在每个应用程序中生效。但我必须将其添加到我的应用程序特定tsconfig.app.json文件中才能使其在我的应用程序上生效。


小智 9

不同之处在于,这tsconfig.app.json是一个特别与 Angular App 相关的文件,tsconfig.json而是一个更通用的文件,包含通用的打字稿配置。当您有一个微前端系统时,它特别有用,其中有多个 Angular 子项目,每个子项目都有自己的tsconfig.app.json配置。但是,如果您愿意,您可以将这两个文件完美地合并为一个,实际上您肯定注意到其中tsconfig.app.json包含以下行:

  "extends": "./tsconfig.json"
Run Code Online (Sandbox Code Playgroud)

这意味着整个应用程序使用中所述的配置tsconfig.app.json加上中的配置tsconfig.json


jah*_*ler 5

没有什么可以阻止您摆脱困境tsconfig.app.json。它只是一个附加的配置文件,可让您根据应用调整您的配置。例如,当您在同一angular-cli工作区中有多个应用程序时,这很有用。

您可以在根文件夹中包含tsconfig.json,然后在子文件夹中app-a包含一个tsconfig.app.json文件,而在子文件夹app-b中则拥有自己的另一个应用程序tsconfig.app.json,它包含全局配置的变体。

配置上的差异可以是输出目录,outDir也可以是includesexcludes使用。

  • 我一开始只是排除了 tsconfig.app.json 文件,然后收到此错误“没有这样的文件或目录,stat '/home/ggg/Documents/SampleAngularApps/sample-ang-app/src/tsconfig.app.json'” 。所以我必须包含这个文件。我使用 VSCode 作为编辑器。我不确定这是否是阻碍我的事情。 (2认同)