为什么不需要('./')与具有index.js的模块内的require('./ index')相同?

时间:2013-09-30 21:03:24

标签: node.js

从Node那里走了一段路,发现自己对我认为理解的东西感到困惑:

从具有index.js的模块外部,如果我require('path/to/module'),则为该模块的index.js咨询exports

现在,我有一个情况,我在这样的模块中工作,我正在尝试相对于模块自己的index.js进行引用:

// index.js
exports.find_tests = require('./lib/find_tests');

// test.js
require('./').find_tests  // does not work
require('./index').find_tests  // works

我认为第一个变体(require('./').find_tests)可行。我完全不在基地吗?我在main中没有package.json条目。

  • 访问require('./') yield是一个空对象。它是什么?
  • require('./index')exports中为index.js

1 个答案:

答案 0 :(得分:1)

我不完全确定“为什么”它没有按预期工作,但我可以告诉你,如果你require('./.'),它将按预期工作。