离开 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
) 会起作用。我完全没有根据吗?我在 package.json
中没有 main
条目。
- 访问
require('./')
产生一个空对象。这是什么? require('./index')
是exports
在index.js
中。
最佳答案
我不完全确定它不能按预期工作的“原因”,但我可以告诉你,如果你require('./.')
,它就会工作正如预期的那样。
关于node.js - 为什么 require ('./' ) 与具有 index.js 的模块内部的 require ('./index' ) 不一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19103790/