从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
。答案 0 :(得分:1)
我不完全确定“为什么”它没有按预期工作,但我可以告诉你,如果你require('./.')
,它将按预期工作。