如何检测是否使用SH:node path-to-file
或JS:require('path-to-file')
调用了我的Node.JS文件
这是我之前用Perl提出的问题的Node.JS等价物:How can I run my Perl script only if it wasn't loaded with require?
发布于 2011-06-19 03:20:35
if (require.main === module) {
console.log('called directly');
} else {
console.log('required as a module');
}
请参阅此处的文档:https://nodejs.org/docs/latest/api/modules.html#modules_accessing_the_main_module
发布于 2013-03-04 01:08:29
发布于 2017-03-04 03:43:53
我对解释中使用的术语感到有点困惑。所以我得做几个快速测试。
我发现这些都会产生相同的结果:
var isCLI = !module.parent;
var isCLI = require.main === module;
对于其他困惑的人(直接回答这个问题):
var isCLI = require.main === module;
var wasRequired = !isCLI;
https://stackoverflow.com/questions/6398196
复制相似问题