正在将构造函数函数迁移到TypeScript
Migrating constructor function to TypeScript
所以我有一个相当大的sails.js应用程序,我计划在接下来的几个月里将代码库迁移到TypeScript,我修改了sails模块加载器以使用ts节点(我可能很快就会打开一个pull请求),这一切都很好。
问题是,我对我提出的TypeScript不太满意,想知道是否有人有任何建议。
在帆上,一个钩子看起来像这样:
module.exports = function(sails) {
return {
initialize: function(next) {
return next();
}
};
};
我最初想到的TypeScript是
class Hook {
constructor(public sails: any) {}
initialize(next: Function) {
return next();
}
}
export = function(sails: any) {
return new Hook(sails);
}
但我觉得导出功能不太好,而且存在帆绑定范围的问题,因此这会导致一些问题。解决方案是使用胖箭头,但我不太喜欢我提出的解决方案。。。
class Hook {
constructor(public sails: any) {}
initialize = (next: Function) => {
return next();
};
}
export = function(sails: any) {
return new Hook(sails);
}
有什么建议吗?
感谢
我不确定你到底在寻找什么,但如果你不想用class Hook
进行完全OOP,你也可以选择interface Hook
。这样,你就可以保留你的原始代码,只需添加一些类型
interface Hook {
initialize(next: Function);
}
export = function(sails: any) : Hook {
return {
initialize: function(next) {
return next();
}
}
}
相关文章:
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- Foreach无法在Typescript中工作
- 扩展SVGTextElement时出现Typescript Uncaught TypeError
- 为什么无法在TypeScript中导出类实例
- 如何将TypeScript对象转换为普通对象
- Angular 2.0 with JavaScript or TypeScript?
- 没有在Angular应用程序中定义firebase(在firebase迁移之后)
- "实例范围”;TypeScript类的getter/setter
- 如何在大型nodeJS代码的基础上逐步引入typescript
- 从HTML调用typescript文件中的函数
- 如何将js库与typescript一起使用
- 理解typescript中的构造函数接口
- 在gump和nodejs中使用Typescript时,未定义对require和exports的引用
- Typescript导入导出的类会发出require(..),从而导致浏览器错误
- 为其他JS生成定义“;编译器”;来自TypeScript定义文件
- Typescript angularjs$http获取响应类型(避免使用<any>)
- Typescript编译器错误,Angular 1.5组件应为分号
- 应该如何在typescript中键入lodash流函数
- 正在将构造函数函数迁移到TypeScript
- 正在将节点代码库迁移到TypeScript:全局范围