Le lanceur de package npx Node

npx est un moyen très cool d'exécuter du code Node et fournit de nombreuses fonctionnalités utiles

Dans cet article, je souhaite présenter une commande très puissante qui était disponible dansnpmà partir de la version 5.2, sortie en juillet 2017:npx.

Si vous ne souhaitez pas installer npm, vous pouvezinstaller npx en tant que package autonome

npxvous permet d'exécuter du code créé avec Node et publié via le registre npm.

Exécutez facilement des commandes locales

Les développeurs de nœuds avaient l'habitude de publier la plupart des commandes exécutables sous forme de packages globaux, afin qu'elles soient dans le chemin et exécutables immédiatement.

C'était pénible car vous ne pouviez pas vraiment installer différentes versions de la même commande.

Fonctionnementnpx commandnametrouve automatiquement la référence correcte de la commande dans lenode_modulesdossier d'un projet, sans avoir besoin de connaître le chemin exact, et sans exiger que le package soit installé globalement et dans le chemin de l'utilisateur.

Exécution de commandes sans installation

Il existe une autre caractéristique intéressante denpm, qui permet d'exécuter des commandes sans les installer au préalable.

C'est assez utile, principalement parce que:

1) vous n'avez rien à installer 2) vous pouvez exécuter différentes versions de la même commande, en utilisant la syntaxe @version

Une démonstration typique de l'utilisationnpxest à travers lecowsaycommander.cowsayimprimera une vache en disant ce que vous avez écrit dans la commande. Par exemple:

cowsay "Hello"va imprimer

 _______
< Hello >
 -------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Now, this if you have the cowsay command globally installed from npm previously, otherwise you’ll get an error when you try to run the command.

npx allows you to run that npm command without having it installed locally:

npx cowsay "Hello"

will do the job.

Now, this is a funny useless command. Other scenarios include:

  • running the vue CLI tool to create new applications and run them: npx vue create my-vue-app
  • creating a new React app using create-react-app: npx create-react-app my-react-app

and many more.

Once downloaded, the downloaded code will be wiped.

Run some code using a different Node version

Use the @ to specify the version, and combine that with the node npm package:

npx [email protected] -v #v6.14.3
npx [email protected] -v #v8.11.3

This helps to avoid tools like nvm or the other Node version management tools.

Run arbitrary code snippets directly from a URL

npx does not limit you to the packages published on the npm registry.

You can run code that sits in a GitHub gist, for example:

npx https://gist.github.com/zkat/4bc19503fe9e9309e2bfaa2c58074d32

Of course, you need to be careful when running code that you do not control, as with great power comes great responsibility.

Download my free Node.js Handbook


More node tutorials: