gpt4 book ai didi

javascript - 如何设置 VS Code 来创建 TypeScript 定义文件

转载 作者:行者123 更新时间:2023-12-03 05:18:23 25 4
gpt4 key购买 nike

我有当前的文件夹结构:

project
└───typings
│ | index.d.ts
| FileToMakeTdFor.js
| FileToMakeTdFor-Tests.ts

我有一个 JS 文件,我正在尝试为其创建 Typescript 定义 (d.ts)。

js 文件如下所示:

"use strict";
var FileToMakeTdFor = (function () {
function FileToMakeTdFor(config) {
...
}
FileToMakeTdFor.prototype.example = function () {
...
};
return CRMWebAPI;
}());
exports.FileToMakeTdFor = FileToMakeTdFor;

index.d.ts 文件如下所示:

export interface FileToMakeTdFor {
new (config:any): FileToMakeTdFor;
example(): void;
}

在我的测试文件中,我尝试编写以下内容:

let obj = new FileToMakeTdFor();
obj.example();

但是我在构造函数上遇到错误找不到名称 FileToMakeTdFor

如何让测试ts文件找到index.d.ts文件?有没有更好的方法来设置这个结构?

最佳答案

特别感谢 Dave Hillier 的 link 。它引导我找到 TypeScript Handbook for declaration files 。显然我只是错过了一些导出电话:

/*~ If this module is a UMD module that exposes a global variable 'CRMWebAPI' when
*~ loaded outside a module loader environment, declare that global here.
*~ Otherwise, delete this declaration.
*/
export as namespace FileToMakeTdFor;

/*~ This declaration specifies that the class constructor function
*~ is the exported object from the file
*/
export = FileToMakeTdFor;

export interface FileToMakeTdFor {
new (config:any): FileToMakeTdFor;
example(): void;
}

一旦我添加了 export as namespace FileToMakeTdFor;export = FileToMakeTdFor; 行,一切就开始工作了...

关于javascript - 如何设置 VS Code 来创建 TypeScript 定义文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41508233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com