如何判断在require中调用在节点中编写的脚本?
答案 0 :(得分:3)
来自node docs:
访问主模块
直接从Node运行文件时,require.main设置为它 模块。这意味着您可以确定文件是否已运行 直接通过测试
require.main === module
对于文件foo.js,如果通过节点foo.js运行,则为true,但为false 如果由require('./ foo')运行。
因为module提供了一个filename属性(通常等同于 __filename),可以通过检查require.main.filename来获取当前应用程序的入口点。
答案 1 :(得分:0)
您可以查看parent
对象的属性module
。如果由require module.parent
调用的模块将返回调用者模块,否则module.parent
为空。