有没有办法在一行中根据需求创建一个新的 Node 对象?
Is there a way to create a new Node object from a require in one line?
我们有一个像这样导出的 Node.js 小部件:
module.exports = ourWidget;
然后我将它导入到我们的 server.js 中,如下所示:
var ourWidget = require('./ourWidget');
var ow = new ourWidget;
这按预期工作,但是可以在一行中完成吗? EG:
var ow = new (require('./ourWidget'));
这个不行,我也试过这个:
var ow = new (require('./ourWidget')());
两者都类似于这个 SO 问题中的代码:How does require work with new operator in node.js?,但是当我尝试 运行 代码时,两者都失败了。
您可以通过将函数调用转移到包装括号之外来实现此目的:
var ow = new (require('./ourWidget'))()
但请记住,您现在无法访问原始小部件构造函数(这对您来说可能是坏事,也可能不是坏事)。
我们有一个像这样导出的 Node.js 小部件:
module.exports = ourWidget;
然后我将它导入到我们的 server.js 中,如下所示:
var ourWidget = require('./ourWidget');
var ow = new ourWidget;
这按预期工作,但是可以在一行中完成吗? EG:
var ow = new (require('./ourWidget'));
这个不行,我也试过这个:
var ow = new (require('./ourWidget')());
两者都类似于这个 SO 问题中的代码:How does require work with new operator in node.js?,但是当我尝试 运行 代码时,两者都失败了。
您可以通过将函数调用转移到包装括号之外来实现此目的:
var ow = new (require('./ourWidget'))()
但请记住,您现在无法访问原始小部件构造函数(这对您来说可能是坏事,也可能不是坏事)。