javascript – 无法使用Babel编译TypeScript单吨

在TypeScript中,Class有私有构造函数(),因此我们可以像下面这样轻松创建单吨模式类.

class Singleton {
  static instance = new Singleton();
  prop = 0;

  private constructor() {}
}

Singleton.instance.prop; // 0

当我使用没有TSC的Babel构建此TypeScript代码时,引发错误Singleton不是构造函数.
我该怎么办?

最佳答案 我正在回答这个问题,因为在几个小时内没有其他答案.我没有直接回答问题,但它也可以是解决方案本身的答案.

在Node.js世界中,制作额外的单例是没有意义的.为什么?每个文件都是单独的单独文件.

如果你有这样的文件(模块):

class Singleton {
  constructor() {}
}

exports.instance = new Singleton();

然后你只能访问实例,基本上是单例.实际上没有办法访问其他任何东西.

点赞