L’écosystème de NodeJS est à la fois une mine d’or et la maison hantée du village. On va voir les outils principaux
NodeJS
NodeJS est le runtime, il permet d’exécuter un script JS.
Gestionnaires de paquets
npm, le plus connus
npm
, pour Node Package Manager, est l’outil qui va permettre d’installer des dépendances et créer des projets, du plus simple au plus complexe.
Pour ce faire, il va créer un fichier appelé package.json
.
Exemple:
Comme ça, ça parait barbare, mais en réalité c’est très utile.
Il est possible d’ajouter des dépendances (et dépendances PENDANT le développement, les devDependencies
), de préciser un nom, une description, une version, un auteur, un github etc…
On peut également définir des scripts.
Toutes les dépendances seront installées dans le dossier node_modules
, mais attention, car ce dossier a tendance à très vite atteindre 100+ Mb en taille.
Référence: npm
yarn
Yarn est littéralement npm, mais il est connu pour être plus rapide, mais il a un autre avantage:
Il va installer toutes les dépendances dans un seul dossier et créer des liens symboliques, ce qui peut être très utile quand on a beaucoup de projets utilisant NodeJS
Structure du code
Il n’y a aucune norme spécifique pour JavaScript, mais la structure suivante est recommandée:
le dossier src
est bien souvent utilisé pour y placer tout le code.
Librairies et outils utiles
Il est recommandé, pour des gros projets:
- eslint: permet d’éviter de nombreuses erreurs de style de code qu’on peut faire. Compatible avec la suite JetBrains.
- typescript: permet d’ajouter un système de typage en Javascript. Très utile pour renforcer la stabilité du projet.
JavaScript Documentation (JSdoc)
La JSdoc est une façon de documenter le code, voici un exemple concret:
On peut voir que cette documentation, si elle parait beaucoup plus verbose et longue à taper, elle permet trois choses:
- On sais exactement quel paramètre sert à quoi et quel type est attendu
- On précise ce qui est renvoyé
- L’éditeur (surtout les IDE JetBrains) sont capable de comprendre la JSdoc et de proposer la bonne completion. (par exemple une erreur apparaitra si on donne un Array pour l’argument
name
)
Références: