在将我们的Typescript解决方案从使用Visual Studio 2015迁移到Visual Studio 2017时,我们遇到了一个问题,即在我们的根目录(而不是node_modules / @ types)中有一个d.ts文件,该文件中声明了一些var,并且环境模块声明。
它在2015年被自动引用,但是现在在2017年,它不再被自动引用,并且在其他文件中引发有关隐式从环境类型声明文件中声明的函数返回的错误。我们不会通过导入等方式在任何地方引用d.ts文件。这是全球性的。
作为参考,我们没有使用新的TS语言服务,并且我们不允许在TS文件中隐含任何内容。
使用Typescript(从package.json安装的版本)通过命令行构建解决方案不会输出任何错误。
如果我们在Visual Studio 2017中打开d.ts文件,然后将其选中,就不会出现错误。
我们尝试使用typeRoots tsconfig.json属性,但它似乎不起作用。
所以我们的观察结果:
似乎Visual Studio 2017仅在以下位置查找类型定义 'node_modules / @ types。
打开文件后,d.ts 文件被正确引用
如果这些是真的,那么如何使用自己的自定义文件而不将其添加为npm模块呢?当然,这不是标准方法。