Node:npm和npx

发布于 2024-04-27  994 次阅读


什么是NPX?

一个npm包执行器,指在提高从npm注册表使用软件包时的体验

NPX是NPM包的执行者。最初,NPX于2017年7月推出.NPX只是一个可以像其他NPM软件包一样安装的NPM软件包。目前,在安装NPM 5.2.0或更高版本时,NPX与NPM捆绑在一起。

使用NPX

使用NPX,您可以运行和执行软件包,而无需在本地或全局安装它们。

使用NPX运行NPM可执行文件时

如果安装了包,NPX将搜索包二进制文件(本地或全局),然后运行包。

如果之前未安装该软件包,NPX将不会在您的系统中安装该软件包;相反,它将创建一个临时缓存来保存包二进制文件。一旦执行结束,NPX将从系统中删除已安装的缓存二进制文件。

使用npx有如下好处:


1、可以直接执行npm包中的可执行文件

比如,项目内部安装了测试工具mocha

npm install -D mocha

一般来说,调用mocha,只能在项目脚本和package.jsonscript字段里面,如果想在命令行下调用,必须像下面这样:

node-modules/.bin/mocha --version

这样使用比较麻烦,使用npx就简单多了:

npx mocha --version

npx的原理很简单,就是运行的时候,会到node_modules/.bin路径和环境变量$PATH里面,检测命令是否存在,存在则执行,不存在则临时安装mocha来执行。

2、避免全局安装模块

比如我们新建一个vue项目时,需要先进行脚手架@vue-cli的全局安装,然后再进行项目的新建,如下:

npm install -g @vue/cli
vue create my-app

全局包默认的安装路径为C:\Users\xxx\AppData\Roaming\npm,安装成功后,我们可以在该目录下查看到安装的包。

使用npx可简化如下:

npx @vue/cli my-app

上面代码运行时,npx@vue/cli下载到一个临时目录,使用以后再删除。所以,以后再次 执行上面的命令时,会重新下载@vue/cli


欢迎欢迎~热烈欢迎~