npm--npx ﹏ヽ暗。殇╰゛Y 2022-11-21 14:43 168阅读 0赞 原文网址:[npm--npx\_IT利刃出鞘的博客-CSDN博客][npm--npx_IT_-CSDN] # **其他网址** # > [npx和npm的区别\_MichaelAn的博客-CSDN博客][npx_npm_MichaelAn_-CSDN] > [npx 和 npm 之间的区别和联系丨阿西河][npx _ npm] > [非常好用的 npx!!!\_NeverYu-CSDN博客][npx_NeverYu-CSDN] # **简介** # **说明** > npx 是执行node软件包的工具,从 npm 5.2+开始,集成了npx(在npm/bin目录下)。 > 用 npx 去执行包时,会保证使用的是最新的构建工具,无需担心包版本升级的问题。 **执行流程** > 1. 查找当前依赖包中的可执行文件包(./node\_modules/.bin/),找到则执行它; > 2. 若找不到,就会去环境变量里面的 PATH 里找,找到则执行它; > 3. 若找不到,npx会去安装最新版本的包,并且去执行它。 //--no-install:之前未安装,则不安装。 # 命令 # **其他网址** > [npx 使用教程 - 较瘦 - 博客园][npx _ - _ -] **执行方式** > 1.下载完后执行。 > > 例:npx -p node@0.10 node -v > > 2.下载完使用npx执行。 > > 例:npx -p lolcatjs -p cowsay -c 'cowsay hello | lolcatjs' > npx -p yo -p generator-webapp -c yo webapp **参数** <table> <tbody> <tr> <td style="width:121px;"><strong>参数</strong></td> <td style="width:228px;"><strong>作用</strong></td> <td style="width:516px;"><strong>示例</strong></td> </tr> <tr> <td style="width:121px;">-p/--package</td> <td style="width:228px;">指定模块。可指定多个</td> <td style="width:516px;"> <p>npx -p node@0.10 node -v //下载node@0.10后,运行命令:node -v</p> <p>npx -p A -p B -c [command] //下载A和B之后,运行命令:command</p> </td> </tr> <tr> <td style="width:121px;">--no-install</td> <td style="width:228px;">只用本地xxx命令,本地没有就报错</td> <td style="width:516px;"></td> </tr> <tr> <td style="width:121px;">--ignore-existing</td> <td style="width:228px;">忽略本地安装的包,直接下载然后使用</td> <td style="width:516px;"></td> </tr> <tr> <td style="width:121px;">-c/--call</td> <td style="width:228px;"> <p>1.使用npx执行字符串</p> <p>2.把 npm 环境变量带入 npx 命令</p> </td> <td style="width:516px;"> <p>下边这行会报错,因为字符串会交给shell或者cmd执行</p> <p>npx -p lolcatjs -p cowsay 'cowsay hello | lolcatjs'</p> <p>解决方法:npx -p lolcatjs -p cowsay -c 'cowsay hello | lolcatjs'</p> <p></p> <p>输出当前项目的项目名:npx -c 'echo "$npm_package_name"'</p> </td> </tr> </tbody> </table> # **npx与npm区别** # **包存活时长** > npm:安装的全局(命令)包永久存在。npx:临时安装命令包到本地,用完后删除(所以可以用多个命令版本)。 > > 比如使用 create-react-app 创建项目,只需 npx create-react-app my-app。 > > **若用npm** > > npm install -g create-react-app > create-react-app test-app > > npm 在本地全局安装 create-react-app,这包会存在 node 目录。以后创建 react 项目执行 create-react-app 即可。 > > **若用npx** > > npx create-react-app test-app > > npx 临时安装 create-react-app ,项目初始化完成后,就删掉。 **执行命令的流程** > 本处以安装webpack并查看其版本为例。 > > **npm** //需指定路径 > > npm i webpack -D > ./node\_modules/.bin/webpack -v > > **npx** //无需指定路径 > > npm i webpack -D > npx webpack -v **使用不同版本/本地/下载 的命令(npm不支持)** > <table style="width:594px;"> > <tbody> > <tr> > <td style="width:202px;"><strong>作用</strong></td> > <td style="width:218px;"><strong>示例</strong></td> > <td style="width:171px;"><strong>说明</strong></td> > </tr> > <tr> > <td style="width:202px;">使用特定版本的包的命令</td> > <td style="width:218px;">npx node@0.12.8 -v</td> > <td style="width:171px;"></td> > </tr> > <tr> > <td style="width:202px;">只使用本地xxx命令</td> > <td style="width:218px;">npx --no-install xxx</td> > <td style="width:171px;">本地没有就报错</td> > </tr> > <tr> > <td style="width:202px;">只使用远程xxx命令</td> > <td style="width:218px;">npx --ignore-existing xxx</td> > <td style="width:171px;">忽略本地安装的包,直接使用下载的包</td> > </tr> > </tbody> > </table> **执行github代码(npm不支持)** > 示例:npx github:piuccio/cowsay hello > > 说明:远程代码必须是一个模块,即必须包含package.json和入口脚本 [npm--npx_IT_-CSDN]: https://knife.blog.csdn.net/article/details/109440676 [npx_npm_MichaelAn_-CSDN]: https://blog.csdn.net/weixin_41697143/article/details/99490779 [npx _ npm]: https://www.axihe.com/edu/npm/npx.html [npx_NeverYu-CSDN]: https://blog.csdn.net/csdn_yudong/article/details/81670477 [npx _ - _ -]: https://www.cnblogs.com/jiaoshou/p/12247678.html
还没有评论,来说两句吧...