npx:npm5.2.0built-inpackagerunner总结自Introducingnpx:annpmpackagerunner,详情请参考原文。最近发布的npm5.2.0版本内置了一个配套命令:npx,它类似于npm,简化了项目开发中依赖项的安装和管理。该工具致力于改善开发者使用软件包提供的命令行的体验。npx允许我们在不定义npmrun-script的情况下使用本地安装的命令行工具,并且允许我们只执行一次脚本而无需在本地实际安装它;同时,npx还允许我们运行不同节点版本的指定命令,允许我们交互式开发节点命令行工具,并且可以轻松地从gist安装脚本。在传统的命令执行中,我们需要在package.json的scripts配置中添加工具,这种方式也需要我们在--模式下传递参数;我们也可以使用aliasnpmx=PATH=$(npmbin):$PATH,或者./node_modules/.bin/mocha来执行命令,虽然都可以达到目的,但是要复杂很多。而npx让我们可以像npxmocha一样直接运行本地安装的mocha命令。完整的npx命令提示符如下:从npm可执行包中执行命令npx[options][@version][commandarguments]...npx[options][-p|--package]...<命令>[命令参数]...npx[选项]-c'<命令字符串>'npx--shell-auto-fallback[命令行解释器]选项:--package,-p安装包路径[string]--cachenpm缓存路径[string]--install如果缺少任何包则跳过安装[bool][default:true]--userconfignpmrcpathforcurrentuser[string]--call,-cExecuteastringlikeexecuting`npmrun-script`[string]--shell,-s用于执行命令的解释器,可选[string][默认值:false]--shell-auto-fallback产生“commandnotfound”错误代码[string][可选值:"","bash","fish","zsh"]--ignore-existing忽略$PATH或者项目中已经存在这会强制npx临时安装一次,并使用它的***版本[boolean]--quiet,-q隐藏npx输出,子命令不受影响v8.1.3/lib/node_modules/npm/bin/npm-cli.js"]--version,-v显示版本号[Boolean]--help,-h显示帮助信息[Boolean]npx还可以让我们不用安装就可以执行单个命令;有的场景下有可能是我们安装了一个全局命令行工具之后,一直忘记更新,导致后面用的时候误用旧版本。在使用npxcreate-react-appmy-cool-new-app执行create-react-app命令时,会帮助我们正常创建React应用,而无需实际安装create-react-app命令行。我们也可以使用类似于$npx-pnode-bin@6npmit的格式来指定Node版本,或者使用npxhttps://gist.github.com/zkat/4bc19503fe9e9309e2bfaa2c58074d32直接从Gist运行脚本。【本文为专栏作家“张子雄”原创文章,如需转载,请通过联系作者】点击此处阅读该作者更多好文