module.require的目的是什么?

时间:2013-09-19 01:34:01

标签: node.js

module.require的文档指出:

  

module.require方法提供了一种加载模块的方法,就像从原始模块调用require()一样。

关于此目的,文档实际上是不透明的。我何时,如何以及为什么需要使用它?

2 个答案:

答案 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)

它提供了一种保持代码清洁和模块化的好方法。基本上,您将方法编写为对象并将其导出,然后可以通过要求将它们加载到另一个文件中。