我想创建一个类的实例,而不先导入类,然后再创建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的组合。
答案 0 :(得分:8)
您可以使用括号来实现:
var main = new (require('../dist/main').Main)();
如果您的module.exports
仅仅是出口课程,请按以下方式执行:
var main = new (require('../dist/main'))();