初试npx

239 阅读1分钟

昨天晚上向小伙伴安利一个包时,他给我发回的使用截图里使用npx启动了服务. 一向用npm的我感到好奇就查了一下npx的功能. 简单来说,npx就是npm的执行工具. 如果npm是一个人的话,npx就是这个人的手或脚,用来执行各种动作.

那么有人会问了,为啥要用npx呢? 回答这个问题,我们首先要想象一个场景. 当你想使用npm中的某个包的功能时,是不是要先用npm init初始化一个使用npm管理的文件夹,然后再把包安装到这里的或者全局安装这个包. 这很麻烦,你只是想暂时用一下这个功能,或者用这个功能开启一个服务,比如开启一个基于node.js的数据库服务 所以这时候npx的优势就来了,你可以在任何文件中直接使用npx指令执行相关功能.

微信图片_20211203120114.png Snipaste_2021-12-03_16-09-02.png 可以看到当前路径下的并没有pm2这个包 但是依旧可以使用npx执行安装在全局的pm2.

倘若在当前环境下安装了这个包,那该包会被调用,如果没有安装,则会自动安装并调用. 使用npx甚至可以调用远程厂库中的包,比如'npx gist.github.com/zkat/4bc195…'