npx命令学习

2019年10月18日Web前端

npm从5.2版本开始,就内置了npx命令。当然如果低于这个版本,你也可以通过npm install -g npx全局安装他。

优点

为什么要用 npx 呢?我们来看下他的优势。

避免全局安装

我们都知道,在用一些如vue-cli、create-react-app等脚手架时,我们首先要做的便是全局安装这些东西。而全局安装时会在默认的目录下的node_modules里下载这些包,这不仅占用了大量的空间,而且很久之后使用时,对应的版本都会落后很多,又得手动升级再使用。

使用 npx 命令时,就没有这么多的麻烦了(对于使用频率不是特别高的来说很不错)。例如使用create-react-app新建项目时,我们就可以:

npx create-react-app react-test

npx会将create-react-app下载到临时目录,初始化好项目后再删除。而当你再次执行时,仍会去重新下载,再初始化项目。

调用局部模块

比如在 gatsby 项目中,如果我们需要打包build时,就需要在package.json中的scripts下添加个命令。若不添加则只能使用 ./node_modules/gatsby(省略)这种方式去执行。

npx提供了另外的便利,直接执行npx gatsby build就可以完成了。他会自动完成对项目中局部安装包的使用。

其他

--no-install

--no-install会让npx强制使用本地的包,如果本地没有,则会报错。

npx --no-install 包名

--ignore-existing

--ignore-existing参数会忽略本地同名的包,强制下载最新的包。

npx --ignore-existing 包名