module.require
的文档指出:
module.require
方法提供了一种加载模块的方法,就像从原始模块调用require()
一样。
关于此目的,文档实际上是不透明的。我何时,如何以及为什么需要使用它?
答案 0 :(得分:3)
module.require
主要由Node.js的模块系统本身使用,特别是require()
:
console.log(require.toString());
// function require(path) {
// return self.require(path);
// }
在这种情况下,self
refers to the current module
object。但是,您可以像使用module.require()
一样使用require()
:
console.log(require('./foo') === module.require('./foo')); // true
并且,如果您从另一个文件(例如require.main
)引用了module
对象,则可以使用它来指定相对于该模块的路径。
$ node foo.js
// foo.js
var bar = require('./src/bar');
// src/bar.js
var baz = require.main.require('./lib/baz'); // relative to `foo.js`
答案 1 :(得分:0)
它提供了一种保持代码清洁和模块化的好方法。基本上,您将方法编写为对象并将其导出,然后可以通过要求将它们加载到另一个文件中。