我正在使用外部javascript程序包,该程序包没有默认的导出和声明文件。我本来想自己写一个,但是这样做之后,导入它时遇到了问题。 我编写声明文件的Javascript包如下所示:
function Speech() {
// code
}
Speech.prototype.say = function (saying) {
// code
};
module.exports = Speech;
我的声明文件:
declare class Speech() {
constructor()
say(saying: string): Speech
}
export default Speech
当我尝试使用如下所示的导入方式将此包导入.ts文件时:
import Speech from './index'
并尝试对其进行初始化:
const speech = new Speech()
我收到一个错误,说index_1.default is not a constructor
。
如果我使用其他导入方式导入模块,例如:
import Speech = require('./index')
它可以按预期工作并且不会引发任何错误。
是否可以以某种方式修复声明文件,以便我可以使用默认导入,而不必使用require?
还是在我的情况下使用import需要正确的方式?
谢谢