Publication d’un module Node.js sur NPM

Online Coding Courses for Kids

introduction

NPM signifie Gestionnaire de packages de nœuds et fait référence soit au référentiel de projet en ligne, soit au Interface de ligne de commande (CLI) outil utilisé pour interagir avec le référentiel en ligne.

Actuellement, NPM est le plus grand registre de logiciels au monde avec plus de 1,4 million de packages de code. Par exemple, si vous souhaitez utiliser Node.js pour envoyer des e-mails, vous pouvez effectuer une recherche rapide sur le site Web et trouver Nodemailer, ce qui peut vous faire gagner beaucoup de temps.

Vous voudrez peut-être partager un outil que vous avez créé avec la communauté, qui rationalise certaines tâches standard. Dans cet article, nous verrons comment publier un module Node.js sur NPM.

Premiers pas avec NPM

Pour publier un module sur NPM, nous devons disposer d’un compte NPM. Si vous n’en avez pas, vous pouvez le créer ici.

Lorsque vous installez Node.js, le npm L’outil est également installé automatiquement.

Pour vérifier si npm a été installé correctement, vous pouvez vérifier quelle est la version actuellement installée en exécutant:

$ npm -v

Une fois vérifié que nous avons effectivement npm installé, nous pouvons nous connecter:

$ npm login

L’outil nous demandera notre identifiant, notre adresse e-mail et notre mot de passe créés lors de l’inscription.

Remarque: Vous n’avez pas besoin d’avoir un compte pour utiliser NPM, mais pour publier un module, vous en aurez besoin car il est lié à vous en tant qu’auteur.

Créer un package

Créons un répertoire pour notre projet et allons-y:

$ mkdir publish-to-npm
$ cd publish-to-npm

Ensuite, nous initialiserons le projet:

$ npm init 

La commande vous posera alors plusieurs questions qui, une fois remplies, produiront un package.json fichier:

{
  "name": "publish-to-npm",
  "version": "1.0.0",
  "description": ""Sample module for publishing"",
  "main": "index.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "author": "[email protected]",
  "license": "ISC"
}

Le point d’entrée principal, par défaut, est le index.js, nous voudrons donc créer ce fichier et y ajouter quelque chose.

Si vous avez utilisé le -y drapeau à côté du init commande, ceux-ci auraient été définis sur leurs valeurs par défaut.

Ajouter des dépendances

Ajoutons du code à notre index.js fichier et ajoutez une dépendance, telle qu’un autre module NPM, à utiliser.

Tout d’abord, nous allons installer une dépendance:

$ npm install node-fetch --save

Ensuite, nous l’importerons dans notre index.js fichier et ajoutez un peu de logique:

const fetch = require('node-fetch');

fetch('https://google.com')
    .then(res => res.text())
    .then(text => console.log(text))

Pour vérifier que cela fonctionne, nous pouvons exécuter:

$ node index.js

Et le résultat est:



    
        
        
        

Lors de la vérification du package.json fichier maintenant, nous pouvons voir node-fetch dans nos dépendances:

{
  "name": "publish-to-npm",
  "version": "1.0.0",
  "description": ""Sample module for publishing"",
  "main": "index.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "author": "[email protected]",
  "license": "ISC"
  "dependencies": {
    "node-fetch": "2.6.1"
  }
}

Remarque: le --save drapeau dit npm pour mettre à jour le projet avec le module comme dépendance. Cela a été levé dans les versions plus récentes et le module sera ajouté à la liste de dépendances même sans le --save drapeau, cependant, pour les anciennes versions, vous devrez l’utiliser.

Publication sur NPM

Désormais, nous pouvons publier le module sur NPM via le publish commander:

$ npm publish

Si vous obtenez une erreur, c’est probablement à cause d’une collision de noms. c’est-à-dire qu’un package avec le même nom existe déjà sur npm. Nous devons changer le nom de notre projet en quelque chose d’unique.

Vous pouvez rechercher des noms de packages existants via la barre de recherche sur le page d’accueil.

Une fois que vous avez trouvé un nom unique, vous devez changer le nom du package dans notre package.json fichier. Par souci de cohérence, il est également conseillé de mettre à jour le nom du dossier pour qu’il corresponde au nom du package.

Si vous ne parvenez pas à trouver un nom unique, vous devriez vérifier packages étendus. Cela vous donne essentiellement votre propre espace de noms sur NPM, vous pouvez donc nommer vos packages comme vous le souhaitez.

Il est généralement conseillé que, si vous prévoyez de rendre un module public, vous évitez toujours d’utiliser le même nom qu’un autre package pour éviter toute confusion inutile. Cependant, c’est très pratique pour un usage personnel.

C’est l’un de ces paramètres que nous avons évité de modifier en utilisant le -y drapeau. Si vous souhaitez créer un module de portée, vous devez initialiser votre projet avec:

$ npm init [email protected]

Conclusion

Dans cet article, nous avons rédigé une application simple et l’avons publiée sur NPM en tant que module public que d’autres développeurs pourront utiliser à leur convenance.

Vous pourriez rencontrer à l’avenir une situation dans laquelle vous ne trouverez pas de module facilement disponible pour résoudre votre problème particulier. Vous pouvez écrire la solution vous-même et la télécharger sur NPM, et peut-être aider d’autres développeurs à résoudre le même problème.


Close Menu