I am trying to modify my code such that it works with Require.js but i am running into an issue where some dependencies are undefined where i believe they should be.
A minimal working example is given by the below files:
main.js
:
// Configure require.js
requirejs.config({
baseUrl: "js/app",
});
require(["app"], function(app) {
app.init();
});
app.js
:
define( ["container", "renderer"], function ( CONTAINER, RENDERER) {
return {
init: function () {
CONTAINER.init();
RENDERER.init();
console.log(CONTAINER, RENDERER)
},
}
});
container.js
:
define( ["renderer"], function ( RENDERER ) {
// define container
var container = new Object();
return {
container: container,
init: function() {
console.log(RENDERER)
},
}
});
renderer.js
:
define( ["container"], function ( CONTAINER ) {
var renderer = new Object();
return {
renderer: renderer,
init: function() {
console.log(CONTAINER);
},
}
});
The problem is that in renderer.js
CONTAINER
is undefined
. The console shows this when run in a browser:
Why is CONTAINER
undefined
in renderer.js
while it is defined just fine in app.js
?