J'ai l'impression que le titre n'est peut-être pas explicite :)
Configuration
Supposons que j'ai la structure suivante :
où app.js
sont les principaux modules de démarrage/entrée pour les applications qui ressemblent à ceci :
app01
require.config({});
require([
'app/component1.js'
],
function(component){
// do something with component1
});
app02
require.config({});
require([
'app/component2.js'
],
function(component){
// do something with component2
});
qui fonctionnent tous deux avec des index.html
des fichiers.
J'ai un fichier de configuration de la construction de RequireJS (en supposant un placement correct lié aux chemins) pour app01 :
({
appDir: 'apps/app01',
baseUrl: '.',
dir: 'built_apps/app01',
optimize: 'closure',
paths: {
},
modules: [
{
name: 'app'
}
]
})
ce qui fonctionne très bien. Fichier similaire (en remplaçant app01
con app02
) fonctionne très bien pour app02 .
Problème/cible
Maintenant, je veux être en mesure d'exécuter l'outil de construction RequireJS (en utilisant Google Closure avec Rhino sous Ant, pas que cela importe vraiment dans ce cas) pour les deux app01 y app02 applications utilisant le même fichier de configuration de la construction et, de préférence, sans énumérer toutes les applications par leur nom (puisque le nombre et les noms peuvent varier au fil du temps).
En gros, je m'attends (ou plutôt j'espère) à avoir quelque chose comme ça :
({
appDir: 'apps',
baseUrl: '.',
dir: 'built_apps',
optimize: 'closure',
paths: {
},
modules: [
{
name: 'app*/app' // notice the wildcard
}
]
})
qui passerait sur built_apps
trouvez toutes les applications sous app*/app et optimisez chacune d'entre elles.
Je sais que je peux utiliser Ant pour créer un tel fichier de configuration de construction à la volée par application, exécuter la construction contre lui et ensuite nettoyer, mais je préférerais avoir la solution RequireJS.
Existe-t-il un moyen de faire quelque chose comme cela avec RequireJS ?