Les modules en Javascript
Les notions de module paraissent souvent difficiles quand on se lance en JS, essayons de clarifier un peu tout ça.
Un module c'est quoi ?
Les modules en Javascript correspondent à des blocs de code. Ces blocs de code contiennent leurs propres fonctionnalités et sont séparés du reste du code. Généralement, un module possède son propre fichier. L’avantage principal des modules est une meilleure séparation du code facilitant la maintenabilité et la lisibilité.
Les exports de modules
Il existe 2 methodes pour exporter un module, les exports par défaut et les exports nommés. Vous comprendrez mieux leurs utilités quand nous parlerons d'import.
Les exports par défaut
Voyons un peu les différentes manières d'exporter un module par défaut.
Les exports nommés
Les exports nommés permettent de créer une multitude de modules dans un seul fichier.
Mélanger les 2 types
Rien ne nous empêche de mélanger les 2 méthodes bien au contraire, on n'a souvent tendance à le faire dans la création d'helpers et de composants pour mettre à disposition les modules et leurs dépendances. Voici un exemple concret au travers d'un helper permettant de créer des tableaux de nombres dans un intervalle défini.
Les imports de modules
Nous avons vu dans la première partie comment exporter un ou plusieurs modules d'un fichier, voyons maintenant un peu comment les importer.
Les index
Le système de module à tendance complexifier l'organisation des fichiers. Pour revenir à quelque chose de bien plus simple, il est possible de créer des index de module qui nous permettrons de gagner beaucoup de temps.
Les imports / exports
Une méthode simple pour la création d'index est l'imports / exports. Concrètement on récupère un module et on le renvoie en même temps.
Les fichier d'index
Dans une application comportant pas mal de module il est très important pour simplifier les imports de créer des fichiers d'index. Pour cela rien de plus simple, il suffit créer un fichier à la racine de votre dossier appelé index.js. Voyons un exemple concret pour illustrer tout ça, je vais utiliser quelques helpers d'utilité courante pour cet exemple.
Structure des fichiers
helpers
camalize.js
index.js
range.js
regex.js
app.js
helpers/camalize.js
helpers/range.js
helpers/regex.js
helpers/index.js
app.js
Nous voyons bien dans ce cas pratique l'utilité sur une grande quantité de module de créer des index. Sur une application du type React ou Vue la quantité de module est conséquente et l'utilisation d'index vous fera gagner énormément de temps dans votre développement.
Conclusion
J'espère que ces explications vous auront été utiles, ce cours n'est pas exhaustif mais fait le tour de la plupart des cas d'usage dont vous aurez besoin pour vous lancer dans votre future vie de développeur JS. N'hésitez pas à me contacter sur Discord, via ma page de contact ou par mail pour me démandé des explications complémentaires et à faire un petit tour régulièrement sur ce blog, qui j'espère pourra vous apprendre de nouvelles choses.