我想创建一个类的实例,而不是先导入该类,然后再创建 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 的组合。
最佳答案
您可以使用括号来实现:
var main = new (require('../dist/main').Main)();
如果你的 module.exports
只是导出一个类,你会这样做:
var main = new (require('../dist/main'))();
关于javascript - Node/JS 在导入时创建新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41898412/