npx

作者: 廊桥梦醉 | 来源:发表于2023-07-25 17:27 被阅读0次

 npx是npm5.2之后发布的一个命令,官网说它是“execute npm package binaries”,就是执行npm依赖包的二进制文件,简而言之,就是我们可以使用npx来执行各种命令。

npx官网:https://www.npmjs.com/package/npx

1、npx解决的问题

在命令行执行本地已安装的依赖包命令

使用npx可以在命令行直接执行本地已安装的依赖包命令,不用在scripts脚本写入命令,也不用麻烦的去找本地脚本。

首先看个场景

我们直接执行某个命令,什么都不做时是不能运行这个命令的,但是npx可以

2、npx的原理 

npx的原理 ,就是在运行它时,执行下列流程:

1、 去node_modules/.bin路径检查npx后的命令是否存在,找到之后执行;

2、找不到,就去环境变量$PATH里面,检查npx后的命令是否存在,找到之后执行;

3、还是找不到,自动下载一个临时的依赖包最新版本在一个临时目录,然后再运行命令,运行完之后删除,不污染全局环境。

3、npm 与 npx的区别

参考:https://blog.csdn.net/weixin_44216637/article/details/130149760

https://blog.csdn.net/qq_45947664/article/details/127856736

分别举例说明

区别1.一个永久存在(npm),一个临时安装(npx),用完后删除

例子:用创建一个react项目的对比 npm创建

 npm install -g create-react-app

   create-react-app test-app

npx创建

 npx create-react-app test-app

区别:npm他会在本地全局性的安装create-react-app,这个包会存储在node目录下面去。以后创建react项目直接执行create-react-app命令就可以了。

npx命令他会把create-react-app安装包临时安装上,等项目初始化完成以后,他就删除掉。

区别2.npx 会帮你执行依赖包里的二进制文件。

例子:执行webpack里面的文件 npm执行以下,结果是:6.9.0

npm i -D webpack ./node_modules/.bin/webpack -v

或者执行

npm i -D webpack`npm bin`/webpack -v

npx执行

npm i -D webpack

npx webpack -v

也就是说 npx 会自动查找当前依赖包中的可执行文件,如果找不到,就会去环境变量里面的 PATH 里找。如果依然找不到,就会帮你安装!

区别3.npx可以执行文件,但是npm不可以

npx 甚至支持运行远程仓库的可执行文件:

npx github:piuccio/cowsay hello

再比如 npx http-server 可以一句话帮你开启一个静态服务器!(第一次运行会稍微慢一些)npx http-server

指定node版本来运行npm scripts:

npx -p node@8  npm run build

主要特点:

1、临时安装可执行依赖包,不用全局安装,不用担心长期的污染。

2、可以执行依赖包中的命令,安装完成自动运行。

3、自动加载node_modules中依赖包,不用指定$PATH。

4、可以指定node版本、命令的版本,解决了不同项目使用不同版本的命令的问题

参考:https://www.jianshu.com/p/14c813bba544

相关文章

  • Npx

    npx github:https://github.com/zkat/npx 什么是Npx?它和npm是什么关系?...

  • npx详细使用

    前几天接触到了npx,发现这个命令非常好用,这里总结下npx的使用。 npx是什么? npx是npm5.2之后发布...

  • npx 是什么

    在 npm version >= 5.2.0 开始,自动安装了npx。 npx是什么呢?npx 会帮你执行依赖包里...

  • npx

    npx 介绍 What npx是一种在npm中安装工具,也可以被单独的下载使用 在npm 5.2.0 的时候发现会...

  • npx

    npm 从5.2版开始,增加了 npx 命令 安装 Node.js 时会同时安装 npm,所以可以直接使用 npx...

  • css打包压缩

    Node.js+ Npm +Npx Npx是执行Node.js插件的工具,它可以执行npm包中包含的命名 Npx-...

  • 使用webpack-dev-server

    每次要编译代码时,手动运行npx webpack | npx webpack --config webpack....

  • node包管理工具npm/nrm/yarn

    npx 使用 npx使用--阮一峰[http://www.ruanyifeng.com/blog/2019/02/...

  • npx的一个日常使用

    初识npx 学习 react-creact-app 的的时候 npx create-react-app my-re...

  • npm 默认源切换

    使用nrm工具切换淘宝源npx nrm use taobao 切换回官方源npx nrm use npm

网友评论

      本文标题:npx

      本文链接:https://www.haomeiwen.com/subject/ftehpdtx.html