在节点中导出模块时出现问题:函数未正确导出
Problem exporting module in node: functions not exported correctly
我有一个模块,其中有一个 index.js 文件和 2 个具有功能的不同实用程序文件。
索引有:
const utl = require('./tools');
const updt = require('./update');
虽然两个文件都有一个版本(这是 update.js 导出):
module.exports = {
updateResults,
addTeamIDsToArray,
updateTeamStats,
retrieveRankings,
numbOfWeeksToToday }
并且 tools.js 出口:
module.exports = {
add_weeks,
format_date,
waitForMe,
chooseWinner
}
但是,当我检查 index.js 文件中的两个常量时,其中一个是空的:
console.log(updt)
console.log(utl)
输出:
{}
{
add_weeks: [Function: add_weeks],
format_date: [Function: format_date],
waitForMe: [Function: waitForMe],
chooseWinner: [Function: chooseWinner]
}
为什么我的更新文件没有正确导出?
我假设你的意思是两个文件具有相同的 module.exports
?
如果不查看“tools”目录中的内容,就不可能回答这个问题,因为它似乎表现正确;返回从文件导出的内容的对象 - 在本例中为空对象。 (原因:OP 添加了详细信息)
如果有任何安慰的话,我认为您总体上是正确的。这让我想知道一些事情!
- 您尝试过更改文件名吗?
- 使用不同的导入方法? (ESM
import x from "x"
/ await import("x")
)
- 创建一些对象随机对象(我们称之为
obj = { updateResults, addTeamIDsToArray, ...}
),添加所有导出的项目,然后module.exports = obj
?
- 解构导入以进一步调试?例如:
const { updateResults } = reqiure("./tools")
?
- 很明显但是确保相对路径
"./tools"
是正确的?
这些只是一些要检查或尝试的东西,只是为了检查。
最后但并非最不重要的一点是,关掉它然后再打开它以确保我们涵盖所有内容。
我有一个模块,其中有一个 index.js 文件和 2 个具有功能的不同实用程序文件。
索引有:
const utl = require('./tools');
const updt = require('./update');
虽然两个文件都有一个版本(这是 update.js 导出):
module.exports = {
updateResults,
addTeamIDsToArray,
updateTeamStats,
retrieveRankings,
numbOfWeeksToToday }
并且 tools.js 出口:
module.exports = {
add_weeks,
format_date,
waitForMe,
chooseWinner
}
但是,当我检查 index.js 文件中的两个常量时,其中一个是空的:
console.log(updt)
console.log(utl)
输出:
{}
{
add_weeks: [Function: add_weeks],
format_date: [Function: format_date],
waitForMe: [Function: waitForMe],
chooseWinner: [Function: chooseWinner]
}
为什么我的更新文件没有正确导出?
我假设你的意思是两个文件具有相同的 module.exports
?
如果不查看“tools”目录中的内容,就不可能回答这个问题,因为它似乎表现正确;返回从文件导出的内容的对象 - 在本例中为空对象。 (原因:OP 添加了详细信息)
如果有任何安慰的话,我认为您总体上是正确的。这让我想知道一些事情!
- 您尝试过更改文件名吗?
- 使用不同的导入方法? (ESM
import x from "x"
/await import("x")
) - 创建一些对象随机对象(我们称之为
obj = { updateResults, addTeamIDsToArray, ...}
),添加所有导出的项目,然后module.exports = obj
? - 解构导入以进一步调试?例如:
const { updateResults } = reqiure("./tools")
? - 很明显但是确保相对路径
"./tools"
是正确的?
这些只是一些要检查或尝试的东西,只是为了检查。
最后但并非最不重要的一点是,关掉它然后再打开它以确保我们涵盖所有内容。