2015-12-16 32 views
1

我有一個瀏覽過的JS的問題,其中定義的函數返回undefined。我有一種感覺,因爲我的兩個文件需要對方。這些文件本身太大,把這個問題,所以我會在這裏把它簡化:browserify需要對方的兩個文件

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(); 
} 

文件可以調用文件B中的功能沒有問題。但是當我嘗試從文件B調用文件A功能時,我只能得到undefined

正如我所說,我有一種感覺是因爲他們需要對方。但他們確實需要互相要求。我沒有發現文檔中的任何地方,告訴你不要這樣做,或者如果你不得不這樣做,如何避免這樣做。

請幫助:(

+0

還沒有找到這問題,謝謝安迪 –

回答

3

這只是要引起疼痛。分解出任何兩個文件需要到一個單獨的文件,它不需要任何文件或文件B.