如何在VS Code中启用Backbone的IntelliSense

3
我正在尝试为一个示例Backbone.js项目安装TypeScript定义文件。
在项目目录中,我已经执行了以下命令:
npm init
npm install typings
typings install dt~backbone --global

这将在 \typings\globals\backbone 文件夹中添加一个 index.d.ts 和一个 typings.json 文件。

enter image description here

控制台输出如下:

enter image description here

如图所示,这些文件每个都是1KB,VS Code智能提示并没有捕获任何Backbone的定义。(项目文件夹包含一个jsconfig.json文件。)
“typings install dt~backbone…”命令难道不应该安装实际的backbone类型定义(在backbone-global.d.ts(17 KB)中找到),以及依赖项比如underscore和jquery(每个约140 KB)吗?那么“剥离参考”是否表示某种类型的错误?
我该如何安装这些文件/定义(以便VS Code智能提示可以正常工作)?

我刚刚安装了它。Typings 版本为 1.3.2。npm 版本为 2.14.4。 - RaelB
如果您的项目有一个 jsconfig.json 文件,请确保 typings 包含在由 jsconfig.json 文件位置定义的项目上下文中。 - Jakub Synowiec
@JakubS:我不确定你的意思。你能举个例子吗? - RaelB
我按照你的描述创建了一个 jsconfig.json 文件,但它并没有解决问题。我得到了相同的结果。我刚刚在另一台安装了最新版本 Node 的计算机上尝试了一下,也得到了相同的结果。注意:我已经在问题中添加了控制台显示的内容。 - RaelB
@RaelB 我已经添加了一个答案,描述了所需的步骤并解释了为什么一开始它没有起作用。 - Jakub Synowiec
显示剩余2条评论
1个回答

5

前言

由于其模糊性,Typings安装通常会剥离引用。 Backbone定义文件不包含定义,只引用backbone-global和underscore。关于此事还有一个未解决的问题

安装和配置

默认情况下,Visual Studio Code中打开的所有JavaScript文件都被视为独立单元。如果要为整个项目启用IntelliSense,请记得将jsconfig.json文件(可以为空)放在项目的根目录下。

要安装Typings管理器,请执行npm install typings --global,然后使用以下命令安装Backbone定义及其依赖项:

typings install dt~underscore dt~backbone dt~backbone-global --global

您还可以添加--save标志以创建typings.json文件。它类似于package.json文件的依赖部分,但适用于Typings管理器。

示例

我刚刚快速测试了一下,安装所有引用的定义并创建jsconfig.json文件后,IntelliSense似乎按照预期工作。

enter image description here

jsconfig.json

{
    "compilerOptions": {
        "target": "es6",
        "module": "commonjs",
        "allowSyntheticDefaultImports": true
    },
    "exclude": [
        "node_modules",
        "tmp"
    ]
}

typings/index.d.ts

/// <reference path="globals/backbone-global/index.d.ts" />
/// <reference path="globals/backbone/index.d.ts" />
/// <reference path="globals/underscore/index.d.ts" />

我很高兴能够帮到你。 - Jakub Synowiec

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接