module.require
的文档说明如下:
module.require
方法提供了一种方式来加载一个模块,就像从原始模块调用require()
一样。
这份文档对于其目的真的很难理解。我什么时候、如何以及为什么需要使用它呢?
module.require
的文档说明如下:
module.require
方法提供了一种方式来加载一个模块,就像从原始模块调用require()
一样。
这份文档对于其目的真的很难理解。我什么时候、如何以及为什么需要使用它呢?
module.require
主要由 Node.js 的模块系统使用,特别是由 require()
方法使用:
console.log(require.toString());
// function require(path) {
// return self.require(path);
// }
self
指的是当前的module
对象。但是,你可以像使用require()
一样使用module.require()
:console.log(require('./foo') === module.require('./foo')); // true
而且,如果你在另一个文件中拥有对module
对象的引用,比如来自require.main
,你可以使用它来指定相对于该模块的路径。
$ node foo.js
// foo.js
var bar = require('./src/bar');
// src/bar.js
var baz = require.main.require('./lib/baz'); // relative to `foo.js`
它提供了一种很好的方式来保持您的代码整洁和模块化。基本上,您会将您的方法编写为对象并导出它们,然后它们可以通过要求(requiring)它们以简短的方式加载到另一个文件中。
require()
而非 module.require()
的描述,两者有不同的目的(我仍然不太清楚)。 - user1944491