很多开始学习React的小伙伴都会感到疑惑,常常见到的是NPX而不是NPM,今天来了解一下NPX。
NPX
npx是npm5.2之后增加的一个命令,与npm捆绑在一起,官网上的说法是“execute npm package binaries",即执行npm包的二进制文件,简单来说就是可以各种命令。
安装
npm5.2以后,安装node会自动安装npm和npx,如果没有安装可以使用命令npm install -g npx进行安装。
npx的作用原理
npx想要解决的主要问题,就是调用项目内部安装的模块的问题,默认情况下,运行npx会安装以下流程执行:
去项目node_modules/.bin路径检查npx后的命令是否存在,找到之后执行;
找不到,就去环境变量$PATH里面,检查npx后的命令是否存在,找到之后执行;
还是找不到,自动下载一个临时的依赖包最新版本在一个临时目录,然后再运行命令,运行完之后删除,不污染全局环境。
通常情况下我们要执行某个包的命令需要指定包所在路径,或者在项目package.json文件中的scripts脚本中定义命令。如下图示:
有了npx,我们可以直接运行npx 包名。
常用参数
-p :-p选项允许您指定要安装的软件包并将其添加到正在运行的$ PATH中。
--no-install:只执行不下载,强制使用本地模块,如果本地不存在该模块,会报错。
--ignore-existing:忽略本地已有同名模块,强制下载使用远程模块。
-c:在string参数中编写的脚本将拥有与常规运行脚本相同的env变量的完全访问权限。可以将命令用npx解释,可以将环境变量带入执行的命令。
想了解更多精彩内容,快来关注程序猿小董
领取专属 10元无门槛券
私享最新 技术干货