我正在尝试为OpenSubtitles.org api node wrapper编写类型定义文件。这是主文件index.js。在第7行,OpenSubtitles
类作为模块的默认导出导出。
module.exports = class OpenSubtitles {
....
}
所以我想出了以下
declare module "opensubtitles-api" {
export default class OpenSubtitles {
}
}
这是使用OpenSubtitles.org api node wrapper
和我的.d.ts文件进行的代码转译。
"use strict";
exports.__esModule = true;
var opensubtitles_api_1 = require("opensubtitles-api");
var os = new opensubtitles_api_1["default"]({
useragent: "TemporaryUserAgent"
});
当我运行它时。我收到此错误。
var os = new opensubtitles_api_1["default"]({
^
TypeError: opensubtitles_api_1.default is not a constructor
当我删除转码后的["default"]
部分时,一切都按预期进行。
"use strict";
exports.__esModule = true;
var opensubtitles_api_1 = require("opensubtitles-api");
var os = new opensubtitles_api_1({
useragent: "TemporaryUserAgent"
});
我应该如何导出/声明OpenSubtitles
类?
答案 0 :(得分:1)
默认导出与替换整个导出对象时不同。的语法是:
declare module "opensubtitles-api" {
class OpenSubtitles {
}
export = OpenSubtitles
}