如何在 Visual Studio 代码中对库使用三斜杠引用?

How to use triple-slash references for libraries in Visual Studio Code?

我正在尝试让 Visual Studio 代码 0.3.0 识别我的 JavaScript 库。但是,智能感知正在抱怨。这是一个重现:

  1. 打开Visual Studio代码
  2. 文件 > 打开文件夹(select 新创建的空文件夹)
  3. 将文件 mytest.js 添加到该文件夹​​
  4. jquery-2.1.4.js (full/uncompressed) 下载到该文件夹​​(出现在边栏中)
  5. mytest.js中输入:

    var x = jQuery('body');
    

结果:jQuery 下有绿色波浪线。请注意,jQuery 只是一个示例,我对 KnockoutJS 和 QUnit 等库也有同样的问题

我试过像这样添加三斜杠引用:

/// <reference path="jquery-2.1.4.js" />

哎呀,它甚至为我自动完成了 path。我试过稍微改变一下路径,例如开头是 ./,但到目前为止结果总是:

悬停 jQuery 会弹出一个提示:

Cannot find name 'jQuery'.
any

仍然是波浪形的绿线。不过,我 讨厌 波浪线。我怎样才能摆脱它们?

我不知道 VS Code,但是当您尝试像这样访问 "global" 变量时,常规 Visual Studio 经常会抱怨。我发现这种模式可以帮助我避免这些警告并使我的代码更加模块化:

(function($) {
    var x = $('body');
})(jQuery); 

这还有一个额外的好处,就是让您声明的变量(x,例如)在文件范围内而不是全局范围内,并允许您安全地使用短名称(例如 $)内部库,同时避免命名冲突。如果您最终需要使用 requireJS 或类似的东西来加载依赖项,它还会开辟一条简单的迁移路径。

希望它也能摆脱你的绿色波浪形吗?

您需要引用 jQuery TypeScript 定义文件。


您的应用程序或网站的根目录中需要一个 'typings' 文件夹在 'typings' 文件夹中 你需要一个 jquery.d.ts 文件.

根据文件 引用相对于 typings/jquery.d.ts 文件的位置,您对该文件的引用应类似于以下内容和文件夹:

/// <reference path="../../typings/jquery/jquery.d.ts"/>

这是 Node.js 的 TypeScript 定义文件参考:

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

完成此操作的最简单方法是单击 VSCode 中的绿色波浪线,然后单击 light bulb 和 select Add /// reference to 'XYZ.d.ts'。这将自动添加您需要的所有内容。

如果您想或需要手动执行此操作,请参考 Definitely Typed 网站上方的评论。