gpt4 book ai didi

node.js - 在 nodejs 项目 VSCode 中禁用 DOM 库类型定义

转载 作者:行者123 更新时间:2023-12-04 07:42:50 24 4
gpt4 key购买 nike

我想在 nodejs typescript 项目中禁用 DOM 类型定义。我正在使用下面的配置文件,但我仍然在 VSCode 中看到窗口对象类型定义。他们出现在 lib.dom.d.ts VSCode 扩展文件夹中的定义文件(不是当前项目的 Node 模块的一部分)。这导致了 typescript 中的运行时错误(这是非常令人担忧的)。有没有办法从项目中跳过 DOM 类型?

{
"compilerOptions": {
"lib": ["ES2016"],
"target": "es6",
"module": "commonjs",
"skipLibCheck": true,
"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"allowJs": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"inlineSourceMap": true,
"importHelpers": true,
"alwaysStrict": true,
"strict": true,
"outDir": "build",
"forceConsistentCasingInFileNames": true,
"esModuleInterop": true,
"typeRoots": ["./node_modules/@types", "./typings"],
"baseUrl": ".",
"paths": {
"#root/*": ["./*"]
}
},
"include": [
"src/**/*",
"__tests__/**/*",
"config/**/*",
"scripts/bundle-test.ts"
],
"exclude": ["node_modules"]
}

最佳答案

编辑:
我的第一个帖子是错误的!!!
因此,使用上面的配置摆脱 DOM 的 API 库的最佳方法是摆脱配置中的所有内容,除了您在下面我发布的代码段中看到的内容。如果您已经构建了您的项目,那么也可以创建一个空项目来确定您的配置,这样您就不必删除当前的配置,直到您知道需要向其中添加或删除什么。"./tsconfig.json"下面的片段不会包括 DOM API .如果您的项目中如上所述,您将不会收到任何关于 DOM API 的自动填充/建议/提示。在您的编辑器中(我猜是 VSCode。现在,如果您在 "./tsconfig.json" 文件中有以下配置,并且您发现当您输入类似 document 的内容时,您会得到 DOM API 的自动填充建议,这可能是因为您添加了某种类型,其中包含一些 DOM 类型的东西。下面的设置将影响自动建议的内容,具体取决于您添加到其中的 3rd 方模块。

"typeRoots": ["./node_modules/@types", "./typings"]

我不知道你都用什么,但我知道我通过下面的命令使用 Node.js @Types 模块......
~$ npm i -D @types/node

...而且我不必配置 typeRoots设置使其工作。我也知道 Node.js 不被识别,直到我添加 @types/node到我的依赖项,所以就像我说的那样,它会影响您的项目识别的 API。
// tsconfig.json

{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"lib": ["ES2016"],
"outDir": "./build"
},

"include": ["src/**/*"]
}


让我知道你是否让它工作,PLZ,重要的是你得到一个可靠的解决方案。

Here is the link to the official documentation for the topic.

关于node.js - 在 nodejs 项目 VSCode 中禁用 DOM 库类型定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67364024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com