You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么运行Node.js代码时会出现TypeError: test2.myFunc is not a function错误?

为什么运行Node.js代码时会出现TypeError: test2.myFunc is not a function错误?

嘿,我来帮你排查这个问题~

咱们先拆解下代码逻辑:在test1.js里,你是直接把myFunc函数本身作为模块导出的:

// test1.js 中的导出逻辑
module.exports = myFunc;

这就意味着,当你在test2.js里用const test2 = require('./test1.js')引入模块时,test2这个变量就是myFunc函数本身,而不是一个包含myFunc属性的对象。所以你用test2.myFunc()去调用时,自然会报错——因为函数本身并没有myFunc这个属性呀!

有两种简单的解决办法,你可以根据需求选其中一种:

方法一:修改test2.js的调用方式

既然test2就是myFunc函数,直接调用它就行:

// test2.js 修改后
const test2 = require('./test1.js');
console.log(test2()); // 直接调用test2,因为它就是myFunc函数本身

方法二:修改test1.js的导出方式

如果想保留test2.myFunc()的调用写法,那你需要把myFunc作为对象的一个属性导出:

// test1.js 修改后
const myFunc = () => {
  return "Hello World!";
};
module.exports = { myFunc }; // 导出包含myFunc属性的对象

这样再运行node test2,就能正常输出Hello World!啦~

备注:内容来源于stack exchange,提问作者Crowdpleasr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 11:59:29