访问主模块
当文件直接从 Node.js 运行时,则 require.main 被设置为其 module。
这意味着可以通过测试 require.main === module 来确定文件是否被直接运行。
对于文件 foo.js,如果通过 node foo.js 运行,则为 true,如果通过 require('./foo') 运行,则为 false。
因为 module 提供了 filename 属性(通常相当于 __filename),通过查看 require.main.filename 就可以得到当前应用的入口点。
When a file is run directly from Node.js, require.main is set to its
module. That means that it is possible to determine whether a file has been
run directly by testing require.main === module.
For a file foo.js, this will be true if run via node foo.js, but
false if run by require('./foo').
Because module provides a filename property (normally equivalent to
__filename), the entry point of the current application can be obtained
by checking require.main.filename.