npx命令学习
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 包名