TypeError:xxxxx方法不是NodeJs函数

时间:2019-12-06 10:48:31

标签: javascript node.js asynchronous

我知道这种问题已经存在,但是答案并不能解决我的问题。 错误为“ TypeError:xxxxx不是函数”;

文件夹V1

V1 / base / common.js

exports.xxx = async () => { };

V1 / one.js

const {xxx} = require(./base/common);

上面的代码运行正常

但是当我将同一个文件复制到另一个名为 v2 的文件夹中并尝试导入该方法时,该方法不起作用

下面是文件夹结构

V2 / base / common.js

exports.xxx = async () => { };

V2 / two.js

const {xxx} = require(./base/common);

当我尝试运行v2 / two.js时遇到错误 TypeError:xxxxx方法不是NodeJs函数

2 个答案:

答案 0 :(得分:0)

是的,它不能正常运行,因为每个模块可以有多个命名的导出,但是只有一个默认的导出。

注意::您的 文件夹V1 正在工作,因为您应该从包含 xxx 的函数中返回一个对象,该对象在 V2 ,您可能正在导出不包含任何名为 xxx

的键的对象

有关更深入的解释,您可以参考MDN Docs

答案 1 :(得分:0)

一种解决方案是在V1和V2中创建新对象

示例:在V1中让obj1 = require('./ base / common'),在V2中让obj2 = require('./ base / common')

如果有人有更好的解决方案,我会很高兴。

谢谢