如何使外部库intellisense在JavaScript的vscode中工作?

时间:2019-06-01 09:07:36

标签: javascript visual-studio-code intellisense

我正在尝试让智能感知为外部库(即gsap)工作。

无论我尝试什么,我都无法使其正常工作。

/// <reference path="Tweenmax.min.js" />
//or
/// <reference type="gsap" />

添加三斜杠参考路径不会更改任何内容。 使它正常工作的唯一方法是导入ts声明,如下所示:

import { TimelineMax } from "gsap";

我在所有地方搜索了论坛,有人建议使用“ tsd”,但是它已被弃用并且不起作用,所以我使用了较新的npm @ types / gsap希望它能起作用,但只有在导入时才起作用。 / p>

这在vscode中可以正常工作,因为它正确显示了良好的自动完成功能,并且对接口有很好的理解。但是我无法像在浏览器中加载时那样使用此代码,chrome不喜欢该行并抛出如下错误:

Uncaught SyntaxError: Unexpected token {

我已经为此工作了2个小时,但是我找不到一个好的解决方案。我记得以前有时vscode曾经对打开的文档显示自动完成功能,但是即使我保持TweenMax.min.js处于打开状态,这仍然行不通。

我不知道我在做什么错。

要清楚,我不想使用打字稿文件然后进行编译,我什至不想导入任何东西,我只想得到这样的东西:

enter image description here

到目前为止,我能使它起作用的唯一方法是在编码时保留导入声明,然后对其进行注释以进行测试。这很愚蠢,有什么好方法吗?

1 个答案:

答案 0 :(得分:0)

很遗憾,目前尚不支持 loading definitions remotely

所以你有两个选择:

  • 安装依赖项(经典变体)
  • 安装@types

为了安装类型,您通常会这样做

  1. npm install @types/package-name
  2. /// <reference types="package-name" />

个人观察,@types 依赖于 node_modules物理存在。例如。我无法让它在 Yarn 2 PnP 中工作,因为它不使用 node_modules 文件夹。

我相信你有一个错误(错别字):

<块引用>

///

应该输入s