尝试以具有依赖关系的功能样式使用 TypeScript,我感到很受打击。假设我想制作一个依赖于另一个模块的模块。
如果我没有使用依赖注入,它看起来像这样(在节点中)。
SomeOtherModule = require("SomeOtherModule")
exports.doSomething = function() {
SomeOtherModule.blah()
}
这就是我使用依赖注入的方式
module.exports = function(SomeOtherModule) {
function doSomething() {
SomeOtherModule.blah()
}
return {doSomething: doSomething};
}
在打字稿中,如果您定义了一个具体的类或模块,您可以在导出函数时键入函数或将它们包含在类中。都在旁边。
但是由于我无法在 DI 函数中定义模块,所以我能看到的唯一方法是为我单独返回的对象定义一个接口,这很烦人,因为我想要类型符合定义的注释。
有什么更好的方法来做到这一点?