NPM, LE PACKAGE MANAGER DE NODE.JS et HTTP-SERVER

Gestion des dépendances

Pour gérer facilement nos bibliothèques js, le plus simple est d’utiliser NPM ( ou Yarn).

Il faut tout d’abord généré un fichier package.json qui va

  • nous servir de « documentation » en nous donnant les packages dont le projet dépend
  • nous permettre de spécifier les versions des packages que nous allons utiliser
  • nous permettre de créer des script pour le développement de notre projet
  • nous permettre de partager facilement notre projet en quelque sorte

Pré requis

Un fichier package.json comprend au minimum le nom (tout en minuscule, en un mot sans espace, underscore et tirets sont accepté) et la version du projet

{ 
    "name": "my-awesome-package", 
    "version": "1.0.0" 
}

Création du fichier PACKAGE.JSON

Il suffit de  lancer dans le terminal

$ npm init

Vous pouvez avoir la version par défaut en ajoutant le flag –yes, cela vous fera gagner pas mal de temps si vous n’avez pas besoin de tout spécifier au tout début.

$ npm init --yes

Utiliser NPM (le Node Package Manager) pour installer des modules

L’INSTALLATION LOCALE ET L’INSTALLATION GLOBALE

NPM est un peu l’équivalent d’apt-get sous Linux pour installer des programmes. Il permet de télécharger et installer les modules. De plus, NPM gère les dépendances. Cela signifie que, si un module a besoin d’un autre module pour fonctionner, NPM ira le télécharger automatiquement !

Pour ajouter un package (module)  il suffit de lancer la commande

$ npm install <nom_du_package> --save

si vous souhaitez, ou vous devez l’installer sur votre machine utiliser le flag -g

# exemple avec l'installation de notre serveur local http-server
$ npm install http-server -g

NPM installe les modules localement pour chaque projet. C’est pour cela qu’il crée un sous-dossier node_modules à l’intérieur de votre projet. Si vous utilisez le même module dans 3 projets différents, il sera téléchargé et copié 3 fois. C’est normal, cela nous permet de gérer les différences de version. C’est donc une bonne chose.

Par contre, il faut savoir que NPM permet aussi d’installer des modules globaux. Ca ne nous sert que dans de rares cas où le module fournit des exécutables (et pas juste des fichiers .js).

Pour mettre à jour nos modules il suffit de lancer la commande npm update

$ npm update

GÉNÉRER SES SCRIPTS

Il est aussi possible de créer des script pour par exemple généré le build de notre projet ou encore des test unitaires.

# dans un terminal
$ npm run build:test

# dans le fichier package.json
{
...
    "scripts": {
        "build:test":"karma start",
    }
...
}

Server

Pour visualiser nos page, nous avons besoin d’un server. Nous allons utiliser le package http-server

$ npm install http-server --save 
# puis lancer $ http-server