javascript - 模块导出说两个 js 文件之间未定义

标签 javascript

我还是 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()

它给了我以下输出,其中显示未定义。

enter image description here

为什么输出未定义?

最佳答案

您使用的设计模式不可维护,甚至是不正确的。正如@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/

相关文章:

javascript - 数组中对象的 Ng 重复不起作用

javascript - js继承与instanceof

javascript - Angular HTTP 请求渲染不同的 HTML

javascript - 为什么显示的是 [object HTMLCollection] 而不是我创建的元素?

javascript - 在 resharper 中禁用 javascript 分析?

javascript - 根据其他事件更改 ng-click 的功能?

javascript - 如何在 JavaScript 中将字符串转换为位掩码?

javascript - 大数字的 Node.js 输出格式

javascript - 使用 jquery 将 json 对象数组合并为单个对象

php - 使用 php 排序