繁体   English   中英

从另一个文件导入时方法未定义

[英]Method is undefined when importing from another file

当我尝试从另一个文件导入方法时,我变得不确定。 我有 3 个文件,一个调用下一个。

文件1:

const { methodFromFile2 } = require('./file2');
methodFromFile2('myParam');

文件2:

const { methodFromFile3 } = require("../file3");

consoele.log(methodFromFile3); // undefined
function methodFromFile2(coolParam) {
    consoele.log(methodFromFile3); // undefined
}

module.exports = { methodFromFile2 };

文件 3

function methodFromFile3(coolParam) {
    ...
}

module.exports = { methodFromFile3 };

在 file2 中,方法methodFromFile3始终未定义。 但是,当我在methodFromFile2中移动所需的语句时,它可以工作。 为什么会这样,这是正确的做法吗?

如果您没有向我们展示其他require()语句,那么这可能是由循环require()引起的,其中 A 需要 B,B 需要 A。当您这样做时,其中一个 requires 最终会得到一个空模块 object,而不是模块打算返回的模块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM