我在node_modules/
安装了一个库,我想快速入侵,所以我可以在打字稿应用程序中使用它。在文件夹typings/modules
中,我创建了一个包含模块名称和index.d.ts
文件的文件夹。在我的文件里面
declare module "lib-name" {
export default class Logger {
constructor(namespace: string)
}
}
我可以导入该模块,但当我尝试let l = new Lib('namespace');
时,我收到错误cannot use 'with' an expression whose type lacks a call or construct signature
答案 0 :(得分:1)
我认为你的打字中不应该class
。这是你应该申报的接口合同。
此外,文档说新表达式在界面中需要new
方法:https://www.typescriptlang.org/docs/handbook/writing-declaration-files.html
尝试类似这样的事情:
declare module "lib-name" {
interface Logger {
new (namespace: string): Logger
}
export var Logger: Logger;
}