1

私は最近この問題に遭遇しており、良い解決策を探しています。以下は、基本的なセットアップです。

c.js では、a は空のオブジェクトです。現在、モジュール a のメソッドにアクセスする必要がある関数 (cFunction) 内に var a=require('./a.js') を配置することで、これを回避しました。しかし、それはこれを行うための最良の方法ですか?

ありがとう、デビッド


main.js

var a = require('./a.js');

a.js

module.exports = (function() {
    var b = require('./b.js');

    function aFunction() {
        console.log("aFunction");
    }

    return {
        aFunction: aFunction
    };

})();

b.js

module.exports = (function(){
    var c = require('./c.js');

    function bFunction(){
        console.log('bFunction');
    }

    return {
        bFunction: bFunction
    };

})();

c.js

module.exports = (function(){
    var a = require('./a.js');
    console.log(a); //empty object

    function cFunction(){
        a.aFunction(); //undefined
        console.log('cFunction');
    }

    return {
        cFunction: cFunction
    };

})();
4

0 に答える 0