El corredor de paquetes de nodo npx

npx es una forma genial de ejecutar código de nodo y proporciona muchas funciones útiles

En esta publicación, quiero presentar un comando muy poderoso que ha estado disponible ennpmVersión inicial 5.2, publicada en julio de 2017:npx.

Si no desea instalar npm, puedeinstalar npx como un paquete independiente

npxle permite ejecutar código creado con Node y publicado a través del registro npm.

Ejecute fácilmente comandos locales

Los desarrolladores de nodos solían publicar la mayoría de los comandos ejecutables como paquetes globales, para que estuvieran en la ruta y fueran ejecutables de inmediato.

Esto fue una molestia porque realmente no se podían instalar diferentes versiones del mismo comando.

Corriendonpx commandnameencuentra automáticamente la referencia correcta del comando dentro delnode_modulescarpeta de un proyecto, sin necesidad de conocer la ruta exacta, y sin requerir que el paquete se instale globalmente y en la ruta del usuario.

Ejecución de comandos sin instalación

Hay otra gran característica denpm, que permite ejecutar comandos sin instalarlos primero.

Esto es bastante útil, principalmente porque:

1) no necesita instalar nada 2) puede ejecutar diferentes versiones del mismo comando, usando la sintaxis @version

Una demostración típica de usonpxes a través delcowsaymando.cowsayimprimirá una vaca diciendo lo que escribió en el comando. Por ejemplo:

cowsay "Hello"imprimirá

 _______
< 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: