【问题标题】:Why does Node.js show Node.js module methods and Typescript doesn't? (Visual Studio Code)为什么 Node.js 显示 Node.js 模块方法而 Typescript 不显示? (Visual Studio 代码)
【发布时间】:2019-03-04 19:39:34
【问题描述】:

在使用 Node.js 六个月后,我才刚刚开始使用 Typescript。

我发现在导入一个包时,例如string-similarity,如果我用纯 Node.js 编写,VSC 会显示这个包的所有方法,但在 Typescript 中它不会显示任何方法.

结果是我必须通过连接模块来控制台记录我的方式,而在纯 Node.js 中,我可以使用所有方法。

Typescript 和 Node.js

纯 Node.js

【问题讨论】:

  • 您是否设置了所需的一切:code.visualstudio.com/docs/languages/typescript
  • 我想是的。是否有样板健全的“开始”配置?
  • 我已经安装了 ts-node、node types、typescript 并且可以正常工作。我实际上正在为这个小包编写一个 def 文件,但我绝对觉得奇怪的是,vanilla Node.js 可以比 Typescript 从节点包中提取更多的类型信息。

标签: typescript visual-studio-code typescript-typings


【解决方案1】:

当您在没有tsconfig.json 文件的工作区中编写 JavaScript 代码时,默认情况下,VS Code 具有“自动类型获取”功能,该功能会为您导入的任何模块下载DefinitelyTyped 类型声明。当您编写 TypeScript 代码时,默认情况下您需要手动安装类型声明,在本例中为 npm install @types/string-similarity。或者,您可以通过在tsconfig.json 中输入以下内容来启用自动类型获取:

{
    "typeAcquisition": {
        "enable": true
    }
}

但更好的做法是自己安装声明包,这样您就可以选择所需的版本。

【讨论】:

    猜你喜欢
    • 2014-02-05
    • 1970-01-01
    • 2015-02-22
    • 1970-01-01
    • 2020-04-11
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    • 2019-12-17
    相关资源
    最近更新 更多