Node.js 如何在VS代码中使用全局节点包
如果Node.js包是全局安装的,则Node.js应用程序可以使用它们。但是,只要这些包不是本地安装在项目目录中(在子目录node_模块内),Visual Studio代码就不会接受这些包并指示错误 例如:Node.js 如何在VS代码中使用全局节点包,node.js,npm,visual-studio-code,Node.js,Npm,Visual Studio Code,如果Node.js包是全局安装的,则Node.js应用程序可以使用它们。但是,只要这些包不是本地安装在项目目录中(在子目录node_模块内),Visual Studio代码就不会接受这些包并指示错误 例如: import * as net from 'net'; 'net'就会用红色下划线标记。如果通过npm-g install@types/node全局安装该包,该包将可用,但代码(v1.17.1)无法识别它 所以我的问题是,有没有办法配置代码来识别全局安装的Node.js包?从VS code
import * as net from 'net';
<只要您不安装npm install--save@types/node
,code>'net'就会用红色下划线标记。如果通过npm-g install@types/node
全局安装该包,该包将可用,但代码(v1.17.1)无法识别它
所以我的问题是,有没有办法配置代码来识别全局安装的Node.js包?从VS code 1.18开始,不支持IntelliSense for global Module。如果您确实需要此功能,请提交新版本 但是,在VS代码中使用JavaScript时,您确实不需要安装@types包。你应该开始下载这些。还有一些方法通过将以下内容添加到
jsconfig.json
"typeAcquisition": {
"include": [
"node"
]
}
对于TypeScript项目,您应该在本地安装@types作为开发人员依赖项。有趣的问题,我不能告诉你为什么它不起作用,但我建议你运行
npm安装--save dev@types/node
,这样其他参与项目的开发人员就不需要全局安装types/node。我和你一样,在项目内部本地安装所有包。但有趣的是,为什么代码不能识别全局安装的包。因为如果包是全局安装的,那么项目就可以执行并且可以工作。代码将指示错误,这肯定是错误的指示。您可以在VSCode的git repo中创建问题,它们响应速度非常快,我打赌您会在那里得到答案;-)。现在你是对的,这似乎是一个打字稿的问题。jsconfig.json中的typeAcquisition
在typescript级别不起作用。typescript也会忽略Tconfig.js(compilerOptions/typeRoots)中的环境变量,如节点路径
或全局模块路径设置。只要类型定义未在本地安装,传输就会失败。为此问题创建新的。