Si vous avez déjà utilisé Node.js, vous devez avoir utilisé npm à coup sûr.
npm (node package manager) est le gestionnaire de dépendances / packages que vous sortez de la boîte lorsque vous installez Node.js. Il permet aux développeurs d'installer des packages à la fois globalement et localement.
Parfois, vous voudrez peut-être jeter un œil à un package spécifique et essayer quelques commandes. Mais vous ne pouvez pas faire cela sans installer les dépendances dans votre node_modules
dossier local .
C'est là que npx entre en jeu.
Dans cet article, nous allons examiner les différences entre npm et npx et apprendre à tirer le meilleur parti des deux.
Tout d'abord, comprenons ce qu'est réellement npm et ce que nous pouvons en faire.
npm le gestionnaire de paquets
npm est un couple de choses. Il s'agit avant tout d'un référentiel en ligne pour la publication de projets open-source Node.js.
Deuxièmement, c'est un outil CLI qui vous aide à installer ces packages et à gérer leurs versions et dépendances. Il existe des centaines de milliers de bibliothèques et d'applications Node.js sur npm et de nombreuses autres sont ajoutées chaque jour.
npm par lui-même n'exécute aucun package. Si vous souhaitez exécuter un package à l'aide de npm, vous devez spécifier ce package dans votre package.json
fichier.
Lorsque les exécutables sont installés via des packages npm, npm crée des liens vers eux:
- les installations locales ont des liens créés dans le
./node_modules/.bin/
répertoire - les installations globales ont des liens créés à partir du
bin/
répertoire global (par exemple:/usr/local/bin
sous Linux ou%AppData%/npm
sous Windows)
Pour exécuter un package avec npm, vous devez soit taper le chemin local, comme ceci:
$ ./node_modules/.bin/your-package
ou vous pouvez exécuter un package installé localement en l'ajoutant à votre package.json
fichier dans la section scripts, comme ceci:
{ "name": "your-application", "version": "1.0.0", "scripts": { "your-package": "your-package" } }
Ensuite, vous pouvez exécuter le script en utilisant npm run
:
npm run your-package
Vous pouvez voir que l'exécution d'un paquet avec npm simple nécessite un peu de cérémonie.
Heureusement, c'est là que npx est utile.
npx le package runner
Depuis la version 5.2.0 de npm, npx est pré-fourni avec npm. C'est donc à peu près une norme de nos jours.
npx est également un outil CLI dont le but est de faciliter l'installation et la gestion des dépendances hébergées dans le registre npm.
Il est maintenant très facile d'exécuter toute sorte d'exécutable basé sur Node.js que vous installeriez normalement via npm.
Vous pouvez exécuter la commande suivante pour voir si elle est déjà installée pour votre version actuelle de npm:
$ which npx
Si ce n'est pas le cas, vous pouvez l'installer comme ceci:
$ npm install -g npx
Une fois que vous vous êtes assuré de l'avoir installé, voyons quelques-uns des cas d'utilisation qui rendent npx extrêmement utile.
Exécutez facilement un package installé localement
Si vous souhaitez exécuter un package installé localement, il vous suffit de taper:
$ npx your-package
npx vérifiera si ou
existe dans
$PATH
ou dans les binaires du projet local, et si c'est le cas, il l'exécutera.
Exécuter des packages qui ne sont pas déjà installés
Un autre avantage majeur est la possibilité d'exécuter un package qui n'a pas été installé auparavant.
Parfois, vous voulez simplement utiliser certains outils CLI, mais vous ne voulez pas les installer globalement juste pour les tester. Cela signifie que vous pouvez économiser de l'espace disque et ne les exécuter que lorsque vous en avez besoin. Cela signifie également que vos variables globales seront moins polluées.
Exécutez le code directement depuis GitHub

Celui-ci est plutôt génial.
Vous pouvez utiliser npx pour exécuter tous les gists et référentiels GitHub. Concentrons-nous sur l'exécution d'un gist GitHub car il est plus facile d'en créer un.
Le script le plus basique se compose du fichier JS principal et d'un fichier package.json
. Après avoir configuré les fichiers, tout ce que vous avez à faire est d'exécuter le npx avec le lien vers cet élément essentiel, comme indiqué dans l'image ci-dessus.
Ici vous pouvez trouver le code que j'ai utilisé pour cet exemple.
Assurez-vous de lire attentivement tout script avant de l'exécuter pour éviter de graves problèmes pouvant survenir en raison d'un code malveillant.
Tester différentes versions de package
npx facilite grandement le test de différentes versions d'un package ou d'un module Node.js. Pour tester cette fonctionnalité géniale, nous allons installer localement le create-react-app
package et tester une version à venir.
Cela listera quelques balises dist vers la fin de la sortie. Les balises Dist fournissent des alias pour les numéros de version, ce qui facilite grandement la saisie.
$ npm v create-react-app

Utilisons npx pour essayer la next
balise dist create-react-app
qui créera l'application dans un répertoire sandbox.
$ npx [email protected] sandbox
npx installera temporairement la prochaine version de create-react-app
, puis il s'exécutera pour échafauder l'application et installer ses dépendances.
Une fois installé, nous pouvons accéder à l'application comme ceci:
$ cd sandbox
puis démarrez-le avec cette commande:
$ npm start

Il ouvrira automatiquement l'application React dans la fenêtre de votre navigateur par défaut.
Maintenant, nous avons une application qui fonctionne sur la prochaine version du create-react-app
package!

Conclusion
npx nous aide à éviter les versions, les problèmes de dépendance et l'installation de packages inutiles que nous voulons juste essayer.
Il fournit également un moyen clair et simple d'exécuter des packages, des commandes, des modules et même des gists et des référentiels GitHub.
Si vous n'avez jamais utilisé npx auparavant, c'est le bon moment pour commencer!
Cela a été initialement publié sur mon blog.
Vous pouvez me contacter et me demander n'importe quoi sur Twitter et Facebook.