为什么下面的代码给我一个错误?
// In Foo.js
class Foo {
constructor(a) {
this.a = a;
}
}
module.exports = Foo
// In Index.js
var foo = new require('path/Foo.js')('param');
这给了我如果没有'new'就无法调用类构造函数Foo。
谢谢。
最佳答案
我相信在您的代码中,new
运算符应用于 require()
函数,而不是 require()
返回的内容。也就是说,这个:
var foo = new require('path/Foo.js')('param');
...就像这样做:
var foo = ( new require('path/Foo.js') )('param');
...或:
var temp = new require('path/Foo.js');
var foo = temp('param');
请尝试以下操作,以便将 new
应用到您的类:
var Foo = require('path/Foo.js');
var foo = new Foo('param');
关于javascript - 在 Node.js 中实例化 javascript 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47645282/