网站搜索

javascript - 如何在 VSCode 中的 JS 环境中使用 .d.ts 声明文件?


我一直在开发一个 JavaScript 库,并且想用 TypeScript 声明文件来记录它。现在的问题是,我在 Visual Studio Code 中开发库时,无法理解如何使用这些文件。

所以我已经设置了这个简单的例子。

这是我的目录结构:

learning
|-- index.js
|-- greeting.js
|-- greeting.d.ts

假设我有以下 greeting.d.ts 文件,用于记录类 Greeting:

// greeting.d.ts
export class Greeting {
    constructor(msg: string)
    greet(): void
}

这里是定义类 Greeting 逻辑的 greeting.js 文件:

// greeting.js
class Greeting {
    constructor(msg) {
        this.msg = msg;
    }
    greet() {
        console.log(this.msg);
    }
}

module.exports = Greeting;

此文件被 index.js 导入,我在其中进行一个简单的问候:

// index.js
var Greeting = require('./greet.js');

var g = new Greeting('Hello World!');
g.greet();

很明显,我目前正在使用 CommonJS 风格的模块。

现在,当我在我的 JS 文件中工作时(注意,我并不是在 TypeScript 环境中工作 —— 我目前只想将 TypeScript 用作 文档用途),比如 index.js 和 greeting.js,我希望能够基于 greeting.d.ts 文件获得智能提示。

我尝试了许多选项,比如在位于 learning 目录中的 tsconfig.json 文件中设置 typeRoots 选项,或者修改同一 tsconfig.json 文件中的 include 属性,但似乎没有一个是解决方案。

如何在 VSCode 中的 JS 环境中使用 .d.ts 声明文件?