Node / JS导入后立即创build新的实例

我想先创build一个类的实例,而不需要先导入类,然后再创buildnew类。

代替

 var mainClass = require('../dist/main'); // has "class Main { ... }" var mainInstance = new mainClass(); 

我想要

 var mainInstance = new require('../dist/main').Main(); 

但是有些语法是错误的。

 var main = new require('../dist/main').Main(); ^ TypeError: Class constructor Main cannot be invoked without 'new' 

这甚至有可能吗? 我使用TypeScript和普通JS的组合。

您可以使用括号来实现这一点:

 var main = new (require('../dist/main').Main)(); 

如果你的module.exports只是输出一个类,你可以这样做:

 var main = new (require('../dist/main'))();