为什么默认情况下会出现Web类型
从tsconfig.json compilerOptions.lib
美元的文档中:
TypeScrip包括内置JSAPI的默认类型定义集(如Math
),102.
如何更改默认设置
创建tsconfig.json或jsconfig.json,并将compilerOptions.lib
数组设置为包含"DOM"的not,这意味着不会假定lib.dom.d.ts(类型脚本附带的"DOM标准库"类型定义文件).您应该指定要用哪种ECMA脚本标准来编写源代码.
配置文件还包含用于控制它对哪些文件生效的字段:files
、include
和exclude
.如果都不指定,则为include
will default to **
,这将以递归方式匹配配置文件旁边的子目录下的所有内容.
如果您只想编写一个JS文件(即.现在,您只有一个源文件的整个配置文件!).我不知道对于这样的用例,是否有更方便的替代方案.如果有人知道,请编辑此答案.
- 我短暂地研究了TypeScript triple-slash directives,它允许在每个文件的基础上指定内容,但我认为您只能指定add项(即.我不认为你可以用它们来移除一个
lib
).
- 在 compose 本文时,有一些VS代码设置可以应用于用户设置范围,这些设置会影响隐式项目(没有项目配置文件的JS/TS文件)的设置(
js/ts.implicitProjectConfig.*
),但没有一个是用于设置compileOptions.lib
字段的,我的直觉告诉我这可能不会发生(但不要引用我的话).
您可能还需要Node API的类型
使用NPM安装@types/node
的版本.确保您安装的版本的主版本号与您希望在其上运行脚本的Node JS版本的主版本号匹配.
与这个问题无关的有趣的事实
继续关于VS Code针对隐式项目的用户设置这一点,如果没有检测到项目,VS Code会使一些默认设置生效(在那些类型脚本本身所做的之上).您可以通过执行"Find in Files"来查看代码,使用extensions/typescript-language-features/**/*
作为"Files to Include"字段,使用compilerOptions
作为Find查询.在这种情况下,compilerOptions.lib
和not似乎是VS Code触及的东西.