Node.js中module.exports导出带return的函数为何提示变量未定义?
错误原因
- 你在File2中要导出的是
addVat函数,但实际导出的是不存在的变量total:total是addVat函数内部的局部变量,仅在函数执行时存在于函数作用域内,函数外部的模块全局作用域下没有定义total变量,直接导出total本质是导出了undefined。 - 因此你在File1中引入模块后调用
googleDat.addVat时,模块根本没有导出addVat方法,自然会触发相关未定义报错。
修复方案
修改File2的导出配置,导出你实际要对外暴露的addVat函数即可:
function addVat(price) { let total = price*1.2 return total }; // 改为导出addVat函数 module.exports = { addVat };
修改后File1的代码无需调整,调用googleDat.addVat(100)时会拿到函数返回的计算结果,正常输出打印值。
内容的提问来源于stack exchange,提问作者user9542422
相关产品推荐
相关产品推荐

