Node / JS在导入时立即创建新实例

时间:2017-01-27 16:17:26

标签: javascript node.js typescript

我想创建一个类的实例,而不先导入类,然后再创建new

而不是

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的组合。

1 个答案:

答案 0 :(得分:8)

您可以使用括号来实现:

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

如果您的module.exports仅仅是出口课程,请按以下方式执行:

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