1

我怎么知道用 node 编写的脚本被 require 调用了?

4

2 回答 2

3

节点文档

访问主模块

当一个文件直接从 Node 运行时,require.main 被设置为它的模块。就是说可以通过测试直接判断一个文件是否已经运行过

 require.main === module

对于文件 foo.js,如果通过节点 foo.js 运行,则为 true,如果通过 require('./foo') 运行,则为 false。

因为module提供了一个filename属性(一般相当于__filename),所以可以通过检查require.main.filename来获取当前应用的入口点。

于 2012-12-11T23:09:07.647 回答
0

您可以检查对象parent的属性module。如果 require 调用的module.parent模块将返回调用者模块,否则module.parent为 null。

于 2012-12-12T07:09:40.617 回答