L’une des forces de Node.js est l’écosystème de modules qui gravite autour afin de pouvoir réaliser n’importe quel projet. Dans cette page, vous trouverez ci-dessous une liste de modules JavaScript qui méritent d’être connus de tous développeurs NodeJS
L’une des forces de Node.js est l’écosystème de modules qui gravite autour afin de pouvoir réaliser à peu près n’importe quel projet. Très souvent utilisé pour des projets web et des outils CLI (Command Line Interface), ces modules, qu’ils soient natifs ou non, vous permettent d’intégrer toute sorte de fonctionnalités à votre application sans avoir à les développer.
Dans cette page, vous trouverez ci-dessous une liste de modules JavaScript qui méritent d’être connus de tous développeurs NodeJS. Rendez-vous dans notre section Tutoriels pour découvrir comment se servir de ces modules.
Les modules Natifs à NodeJS sont implémentés directement dans l’API du moteur. Pour les utiliser dans votre code JavaScript, il suffit d’ajouter une ligne require('nomDuModule')
comme suit:
const fs = require('fs')
Le module HTTP, HTTP/2 ou HTTPS apporte les fonctionnalités de requêtes. Grâce à l’utilisation de ce module natif à NodeJS, vous pourrez développer des fonctions ayant besoin de faire des appels à des API sans avoir recours à un package externe plus lourd.
Comme montré dans notre page dédiée, le module HTTP permet également de créer un serveur HTTP extra-light capable de recevoir des requêtes de navigateurs, applications mobiles ou d’autres APIs.
Le module node FS, pour FileSystem, est l’outil adapté pour manipuler des fichiers sur la machine. Grâce à lui vous pourrez créer, lire, déplacer, supprimer des fichiers. Dans le cas d’un serveur web, c’est ce module qui est utilisé pour créer des fichiers de logs. Dans le cas d’un outil CLI, vous pourrez développer des scripts de rangement de fichiers ou d’archivage.
Pour apprendre comment l’utiliser, découvrez notre page dédiée au module Node File System.
NPM est le gestionnaire de paquets pour Node js. Installé en même temps que node, il vous permet de télécharger des modules tiers pour vos applications. Grâce à la communauté, vous avez accès à plusieurs dizaines de millions de modules pour accélérer votre développement JavaScript.
Découvrez notre page dédiée pour apprendre tout ce qu’il faut savoir sur le NPM de Node.
Express est le framework le plus populaire de Node.js pour la conception d’un serveur web. Que ce soit pour un site web ou une API, sa légère sur-couche par rapport à Node permet des performances remarquables. Pour en savoir plus, j’ai consacré une page spéciale dédiée à Express (intérêt, installation, démarrage d’un projet…)
Body Parser est un must-have lorsque vous développez une API ou une application web via express. Ce module vous permet d’interpréter, d’où le nom “parser”, le corps JSON d’une réponse HTTP.
Axios est un package incontournable dès lors que vous avez besoin de faire des requêtes HTTP autres que des GET. Cette librairie, téléchargée près de 10 millions de fois par semaine, simplifie considérablement la syntaxe de votre code concernant les appels HTTP.
ESLint est une librairie qui vient analyser votre code JavaScript et vous proposer des corrections. Installé comme une dépendance de développement sur votre projet via NPM ou Yarn, vous pourrez configurer votre projet afin de suivre les bonnes pratiques de JavaScript proposées par Airbnb, Google ou ESLint Standard. Vous pourrez surcharger ou imposer vos propres règles.
Postman est un outil incontournable pour le développement et le maintient d’une API REST. Il permet d’effectuer des requêtes HTTP via une interface graphique afin de ne plus avoir à attendre un Frontend ou d’avoir une requête curL complexe. Il est également utilisé pour effectuer divers tests automatisés sur votre API.
Le but d’un serveur nodejs est de pouvoir réaliser les opérations de lecture et écriture de données sur une base de données. Node est aussi bien capable de s’interfacer avec une base MySQL qu’une base NoSQL telle que MongoDB, Redis, Cassandra ou Neo4J.
Ces interactions peuvent aussi bien se faire directement avec la base de données via un module driver tel que MySQL, que via un ORM comme Sequelize, qui va abstraire la syntaxe native de la base de données pour vous simplifier le développement.
Certains frameworks nodejs tels qu’Adonis ou Sails vont être livrés avec leur ORM recommandé, respectivement Lucid et Waterline. Ces derniers sont conçus pour abstraire au maximum la relation entre l’application et la base de données, vous offrant une simplicité au développement et vous protégeant des failles les plus courantes auxquelles vous pourriez vous exposer si vous deviez écrire vous-même vos requêtes. Ce service vient toutefois à un coût, qui est parfois celui de la performance. Dans certains cas une requête native pourra être mieux conçue et donc plus performante qu’une requête automatiquement construite par un ORM.
Mocha a longtemps été la librairie dominante lorsqu’il s’agit de tests automatisés sur du code JavaScript. D’autres outils se sont construits autour de Mocha pour concevoir une suite complète pour tester une application JavaScript de bout en bout :
foo.should.be.a(false)
, expect(foo).to.be.a(false)
ou assert.equal(foo, false)
Conçue par les équipes de Facebook avant d’être mise open source, Jest a su conquérir le cœur des développeurs JavaScript, aussi bien côté frontend que backend. Son API complète et ses performances d’exécution des suites de tests en ont fait une des librairies de tests les plus populaires dans le monde du JavaScript.
NestJS est le framework backend qui connaît la plus grosse croissance à la fois dans son nombre de téléchargements que dans la taille de sa communauté. Ayant une syntaxe similaire au framework front-end Angular, Nest encourage les développeurs à coder avec typescript.
Adonis est un framework complet, similaire à Rails pour Ruby ou Laravel pour PHP. Il va embarquer un ORM pour se connecter et faire ses requêtes à la base de données et un moteur de templating pour servir ses vues.
Fastify est un framework nodejs dit « bas niveau ». A l’instar d’ExpressJS, Fastify laisse la main aux développeurs pour choisir les librairies et implémenter les fonctionnalités. En revanche, Fastify brille par ses performances et par sa capacité à encapsuler du code en plugins, permettant d’isoler les modules facilement et d’avoir un code source bien construit
Ayant pour but d’être un framework léger (environ 500 lignes de code) et robuste pour des applications webs et API, Koa tire le bénéfice d’une syntaxe Async/Await afin d’éviter les callbacks qu’on peut souvent retrouver dans express, permettant une syntaxe plus claire et rend la gestion des erreurs plus facile.
Conçue comme une sur-couche d’express, Loopback est une librairie qui permet la mise en service d’une API rest en un minimum de temps. Via un simple fichier de configuration, Loopback génère le code de l’API automatiquement, suivant une architecture éprouvée et permettant au développeur de rapidement se concentrer sur les besoins fonctionnels de son application. Loopback simplifie également la connexion à une base de données, qu’elle soit SQL ou MongoDB.
Les PaaS sont des services qui vous permettent de déployer votre application Node.js (ou autre) depuis votre terminal, sans avoir à gérer toute une machine virtuelle Linux. Leur service vient abstraire tout le travail d’administration système et d’installation de l’environnement pour vous laisser déployer en une ligne de commande.
Cette solution est souvent la plus simple et la plus adaptée lorsque vous démarrez ou lorsque vous voulez déployer une petite application. Heroku, Google App Engine et AWS Elastic Beanstalk sont les plus gros acteurs du marché. Clever Cloud et Plateform.sh proposent également des solutions similaires made in France.
Les IaaS proposent des instances Linux avec une puissance de calcul et de la RAM dédiée. Elles vous sont facturées à l’heure d’utilisation. Ces solutions sont moins coûteuses que les PaaS mais elles demandent que vous réalisiez vous-même l’installation de votre environnement.
AWS, GCP et Azure proposent tous les 3 des produits IaaS. Vous trouverez également des fournisseurs IaaS de niveau 2, qui simplifient l’utilisation par rapport aux offres GAFA, tel que Digital Ocean.
Avec plusieurs milliers de nouvelles librairies publiées chaque jour sur npm, il est parfois difficile de suivre toutes les nouvelles librairies qui méritent d’être connues. C’est pourquoi nous vous avons préparé les pages suivantes afin de vous guider:
DANS LA CATÉGORIE NODENodeJs : le guide complet pour tout comprendre du Javascript serveur
Découvrez notre guide complet sur NodeJS, ce runtime qui permet aux serveurs d’interpréter du code JavaScript. Très utilisé pour des projets API et web, NodeJS et ses frameworks permettent de répondre à une grande quantité de requêtes simultanées. Node server : tout savoir sur la création de serveur et le fonctionnement
Coder un serveur Node est beaucoup plus facile à faire qu’on peut imaginer. Appréhender son fonctionnement est une autre histoire. Pour faciliter votre compréhension des challenges auxquels vous ferez face une fois votre premier Node server créé, il est important de comprendre comment il fonctionne.
Les maladies inflammatoires chroniques de l’intestin ou "MICI" sont invisibles, mais leurs impacts sur la…
Depuis l'été, j'ai un Pixel qui intègre à la fois un TPU (Tensor Processing Unit)…
On se retrouve dans un nouvel article avec toutes les infos sur cette nouvelle saison…
Pourquoi l’inclusion numérique est essentielle : le point avec Mathieu Froidure. Dans un monde de…
Elles sont passées où les femmes dans la tech ? Entre le manque de représentation…