当我在 Visual Studio 中使用 tsconfig 时出现编译器错误,但是当我删除它时我没有

When I use tsconfig in Visual Studio I get compiler errors but when I removed it I dont

你好,当我使用自定义 tsconfig 而不是 Visual Studio 自动为我设置的那个时,这个项目没有选择 typescript 定义文件。

https://github.com/jvelezc/GridStackDemo/tree/master/src/GridStackDemo

问题是 tsconfig 如何改变类型定义的发现能力?

我有一个非常简单的 tsconfig

{
  "compileOnSave":true,
  "compilerOptions": {
    "target": "es6",
    "module": "system",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "allowSyntheticDefaultImports": true
  },
  "files": [
    "/wwwroot/app/**/*.ts",
    "/typings/**/*.ts"
  ],
  "exclude": [
    "node_modules"
  ]
}

如果我使用它(而不是默认的 Visual studio 内置配置打字稿选项的功能),那么我的打字定义不会被读取,我会得到 angular 未定义。

当我使用它时注意到它说找不到名称angular

不使用的时候

如果我拖动类型定义 /// 然后就可以了。问题是 tsconfig 如何改变类型定义的发现能力?

您不能在 tsconfig.json 中使用 glob 模式 - 您的 files 部分无效。如果你想使用它,你应该一个一个地指定文件。另外 exclude 不能与 files 一起使用(如果同时指定,files 将获胜)。

您的问题的解决方案 - 只需 删除 files 部分。有关详细信息,请参阅 documentation