Me cuesta seguirte, pero vamos a hacer un esfuerzo. No conozco nadie que haga lo que mencionas de manera síncronica en el browser.
Conoces YUI? YUI hace includes de archivos de manera dinamica para su inclusión en sandboxes requeridos, paso a ejemplificar.
Código Javascript
:
Ver originalYUI().use("node", "datatype-number", "cache-base" ,function (Y) {
var cache = new Y.Cache();
//...
});
Como bien notarás, este proceso es asíncrono.
curl.js, otra excelente librería de AMD (Asynchronous Module Definition) es bastante similar:
Código Javascript
:
Ver originalcurl(['dep1', 'dep2', 'dep3' /* etc */])
.then(callback, errorback);
Esta misma metodología la vas a encontrar en otros frameworks/librerías (ExtJS, LAB.js, $script, etc).
Si usas promesas, cada carga de archivo es una promesa, y su carga finalizada seria su resolve, luego, cuando todas las promesas requeridas estén cumplidas (es decir, cargaste tus dependencias), asincronicamente se ejecutara la consecuencia.