我没有找到一种在TypeScript中轻松导出类实例的方法。我必须提出以下解决方法来生成正确的javascript代码。
var expo = new Logger("default");
export = expo;
产生
var expo = new Logger("default");
module.exports = expo;
有没有更简单的方法来实现这一目标?
答案 0 :(得分:18)
很偶然,我找到了导出实例的方法:
class MyClass(){}
export default new MyClass();
答案 1 :(得分:3)
我必须提出以下解决方法来生成正确的javascript代码
不是解决方法。这是TS执行根级别导出的标准方法。
有没有更简单的方法来实现这个
是。 export = new Variable
。示例:
export = new Foo();
对于ES模块,您应该使用default
导出:
export default expo = new Logger("default");
在大多数情况下,这与根级别导出具有相同的效果。
答案 2 :(得分:3)
开启https://k94n.com/es6-modules-single-instance-pattern是另外一种方法:
export let expo = new Logger("default");
有一个优点是可以在* .ts文件中导出多个类实例。
答案 3 :(得分:0)
一种方法是在类中创建静态实例:
export class MyClass {
static instanceOfMyClass = new MyClass();
}
..
var instanceOfMyClass = MyClass.instanceOfMyClass;