【发布时间】:2015-09-05 14:26:42
【问题描述】:
我正在尝试为 random-string 编写 .d.ts。
我有这个代码:
declare module "random-string" {
export function randomString(opts?: Object): string;
}
我可以毫无问题地导入模块:
import randomString = require('random-string');
并调用:
console.log(randomString); // --> [Function: randomString]
但是,无论有没有参数,这都不起作用:
console.log(randomString({length: 10});
console.log(randomString());
我从 tsc 收到此错误:
错误 TS2088:无法调用类型缺少调用签名的表达式。
我查看了随机字符串的源代码,并找到了我尝试与之交互的方法的代码:
module.exports = function randomString(opts) {
// Implementation...
};
我设法为 CSON 模块编写了一个 .d.ts,没问题,但那是导出一个“类”而不是直接导出一个函数。这很重要吗?
【问题讨论】:
标签: node.js module typescript