我还是 javascript 的初学者,如果我做了一些愚蠢的事情,我很抱歉。我有两个文件如下
文件 test.js
var test2=require("./test2");
const Type='TYPE';
const Brand='BRAND';
module.exports={
Type,Brand
}
function see(){
console.log(test2.details);
}
see()
文件 test2.js
var test=require("./test.js")
const details="for testing";
module.exports={
details
}
function doTest(){
console.log(test.Type)
}
doTest()
它给了我以下输出,其中显示未定义。
为什么输出未定义?
最佳答案
您使用的设计模式不可维护,甚至是不正确的。正如@Sergii Vorobei 建议的那样,删除循环依赖。循环依赖是指两个或多个文件相互导入时由于递归而导致意外错误的情况。
回答你的问题,
// test.js
const Type = 'TYPE';
const Brand = 'BRAND';
module.exports={
Type,
Brand
}
和
// test2.js
var test = require("./test.js")
function doTest() {
console.log(test.Type, test.Brand)
}
doTest()
保持代码简单。
关于javascript - 模块导出说两个 js 文件之间未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52718811/