Un outil (bibliothèque) qui nous permet en javascript d'écrire du code "modularisé", de gérer les dépendances entre nos différents modules et de les charger de manières asynchrone.
A quoi ca sert ?
Ça sert à ne plus avoir un paquet de balises
la 1ère chose à faire dans le main.js est de ce script de configurer require , il y a pas mal d'options possible:
requirejs.config({...
lancer notre application js en spécifiant (c'est tout l’intérêt) ses dépendances ici un seul script fictif nommé foo.js (ne pas mettre de .js encore une fois, requirejs s'attend à charger des scripts .js !) :
définir si nécessaire nos "modules", pour cela et pour reprendre la déclaration précédente, nous aurons un fichier foo.js dont le contenu serait du type :
define(
['unautremoduleoupas'],
function (Mod2)
{
return {
// ...du code exploitant notamment Mod2
}
});
2 Syntaxes possibles AMD ou CommonJS
Pour définir vos modules il est possible d'utiliser 2 syntaxe, la première étant un peu plus difficile à lire lorsqu'il y a de nombreuses dépendance, mais à vous de choisir :)
define(
['module'],
function (Mod) {
return {
// ...du code exploitant notamment Mod
}
});
ou alors (et c'est peut être plus lisible):
define(function(require) {
var mod = require("./relative/name");
});