我遇到浏览器化JS的问题,其中定义的函数返回undefined。我有一种感觉,因为我的两个文件需要彼此。文件本身太大而无法提出这个问题所以我在这里简化它:
file_A.js
var fileB = require('./file_B.js');
var fileA = {};
module.exports = fileA;
fileA.functionOne = function() {
// do something
fileb.functionOne();
}
fileA.functionTwo = function() {
// do something else
}
file_B.js
var fileA = require('./file_A.js');
var fileB = {};
module.exports = fileB;
fileB.functionOne = function() {
// do something
fileA.functionTwo();
}
文件A可以调用文件B中的函数没问题。但是当我尝试从文件B调用文件A函数时,我只得到undefined
。
正如我所说,我有一种感觉,因为他们需要彼此。但他们确实需要相互要求。我没有在文档中的任何地方找到告诉你不要这样做,或者如果必须的话如何避免这样做。
请帮助:(
答案 0 :(得分:3)
这只会引起疼痛。将两个文件所需的内容分解为单独的文件,不需要文件A或文件B.