Visual Studio代码下载node.d.ts

Visual Studio Code download node.d.ts

我正在测试 Microsoft 的新代码编辑器:Visual Studio 代码。

我在 Windows 7 岁以下,我正在尝试这个例子:https://code.visualstudio.com/Docs/nodejs

但是当我尝试添加 /// <reference path="/typings/node/node.d.ts"/>

就像例子中所说的那样。它不起作用。该文件从未下载过,我不知道在哪里可以找到它。

有人知道如何解决吗?是错误还是问题出在我的机器上?

我昨晚刚试过,效果很好。

你不应该自己放参考。你应该让 VS Code 为你做这件事,方法是在标记的 __dirname 上按 "Ctrl + ."(那是你应该按的点键)并选择网站上所述的 TypeScript 定义文件选项。

VS Code 将在您的项目文件夹下创建目录结构,下载文件并将引用添加到您的 app.js Express 应用程序。

(编辑:VS Code 需要我打开一个目录,而不是单个文件才能让智能感知正常工作)

我也遇到同样的问题。

这不起作用:

Add /// reference to 'node/node.d.ts'

什么都没发生...

但这确实有效,VS Code 正在响应。 (编辑:停止警告,但不会以这种方式自动完成):

Mark '__dirname' as global

我遇到了与 angular 相同的问题,这就是我如何让它为我工作的:看起来问题是 VSCode 无法下载文件和创建目录。我用谷歌搜索 angular.d.ts 并在 GitHub - DefinitelyTyped

上找到了它

我创建了 "typings/angularj/" 个文件夹并添加了文件,现在智能感知正在为 angular 工作:)

所以只需获取 "node.d.ts" 文件而不是从 DefinitelyTyped 获取,它应该也适用于您。

TSD 是 TypeScript 定义,而 TypeScript 是 Microsoft 的 JavaScript 的类型化超集,可编译为纯 JavaScript。如果你只是想像我一样使用VSCode开发基于JavaScript的普通node.js项目,你不需要了解这些。

要解决您的问题,我认为更好的方法是将 TSD 包管理器 安装为全局模块。这将使您能够在全局范围内使用命令 tsd

npm install tsd@next -g

然后转到项目的根文件夹,然后键入

tsd install node

这将自动创建一个文件夹 'typings/node',其中包含一个名为 'node.d'.

的 .ts 文件

如果您还需要像 express.js 或 async.js 这样的第三方模块的 IntelliSense,您可以自己添加它们

tsd install express

就像您已经熟悉的 'npm' 是 node.js 的包管理器一样,'tsd' 是 TypeScript 定义的包管理器(但不是 TypeScript 本身)

这里有一个列表显示可用的存储库。

http://definitelytyped.org/tsd/

将所有.tsd 文件下载到'typings' 文件夹后,您仍然需要手动将这些特殊注释放在每个.js 文件的开头,以帮助VSCode 查找定义对于 node 和 express,所以现在 VSCode 知道 类 和函数的 API 细节。

/// <reference path="typings/node/node.d.ts"/>
/// <reference path="typings/express/express.d.ts"/>

正如@HenryLi 提到的,您需要为 Node.js 获取类型定义 的文件。然而,TSD 已经被弃用了很长一段时间。不过不用担心!现在,类型定义由 Microsoft 直接管理,并通过 npm!

捆绑在一起

要解决你的问题,运行这条命令就够了:

npm install --save -g @types/node