node.js - 为什么 require ('./' ) 与具有 index.js 的模块内部的 require ('./index' ) 不一样?

标签 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) 会起作用。我完全没有根据吗?我在 package.json 中没有 main 条目。

  • 访问 require('./') 产生一个空对象。这是什么?
  • require('./index')exportsindex.js 中。

最佳答案

我不完全确定它不能按预期工作的“原因”,但我可以告诉你,如果你require('./.'),它就会工作正如预期的那样。

关于node.js - 为什么 require ('./' ) 与具有 index.js 的模块内部的 require ('./index' ) 不一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19103790/

相关文章:

javascript - 如何在 botpress 自定义组件中获取 json 对象?

node.js - 在 Node 中需要语法

node.js - 从 Node lambda 调用时未从 AWS RDS 获取任何结果

node.js - 如何提供使用 fs.readFile 读取的文件

javascript - 仅返回对象的第一个元素

node.js - NodeJS pbkdf2Sync 密码具有从 v0.12.7 到 v6.9.1 的可移植性

node.js - Node JS Socket 中的 websocket 解析器错误

javascript - 如何重构嵌套回调并将参数传递给 Node 中的每个函数?

node.js - Firebase 提供 --only 功能,admin.auth() 在本地不起作用,除非我手动设置 key.json

javascript - 我试图在单击时从 redux 存储加载数据并更新状态,但状态中的数据在单击时没有更新