RequireJSで循環参照

January 23, 2013

この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。

ここを参考に、循環参照を解決する方法を記述する。

A.jsとB.jsがそれぞれのモジュールを相互に使いたい場合、以下のように、requireを使って、必要な時にモジュールを取得すれば良い。 そうしなければ、どちらかのモジュールは undefined になる。

define('A',['require', 'B'], function(require, B) {
	function A() {
		var B = require("B");
		this.name = "A";
		this.b = new B();
	}
	return A;
});
define('B',['require', 'A'], function(require, A) {
	function B() {
		var A = require("A");
		this.name = "B";
		this.a = new A();
	}
	return B;
});