在nodejs中使用!module.parent

你能解释为什么我们使用!module.parent在节点。 为什么Node.js访问父模块

if (!module.parent) { app.listen(3000); console.log('listening on port 3000'); } 

我find了答案。 您可以使用module.parent来确定当前脚本是否由另一个脚本加载。 例如:

 a.js: if (!module.parent) { console.log("I'm parent"); } else { console.log("I'm child"); } b.js: require('./a') run node a.js will output: I'm parent run node.b.js will output: I'm child 

在分层编程范例中,许多任务是在一个框架的更高层次上完成的,它提供了更好的性能和效率。 这里同样适用。 如果运行模块的父对象没有监听任何端口,那么这个任务是由它的子对象显式地完成的。