npx是什么?npx和npm的区别?

举报
gentle_zhou 发表于 2022/06/18 11:28:38 2022/06/18
【摘要】 npx:Node Package Execute 即node包执行器

npm:Node Package Manager 即node包管理器
npx:Node Package Execute 即node包执行器

什么是npx

npm相信每个JavaScript/TypeScript前端开发人员都已经耳熟能详了,我先前写过的一些npm有关的文章如下:

  1. 运行npm install命令的时候会发生什么?
  2. npm install的时候出现No repository field告警如何处理?
  3. npm install的时候遇到 typings install 报错的处理方案
  4. npm install过程中遇到typings deprecated的warning该怎么处理
  5. 运行npm install 命令的时候带上–ignore-scripts有什么好处吗?
  6. npm install xxxx --legacy-peer-deps命令是什么?为什么可以解决下载时候产生的依赖冲突呢?
  7. 运行npm run命令的时候会发生什么?

那么npx 这个node包执行器,npx到底是什么?npx 是npm v5.2.0版本之后随npm 一起打包安装的一个包执行器。

有了npx 包执行器,用户就可以直接使用 npx 命令去执行指令了,它会自动去寻找二进制命令文件且不必全局安装依赖包。用户可以直接使用 npx 命令去执行一些 npm 指令,如果本地没有安装的话会直接拉取最新的版本安装并执行。执行过程很简单,分为如下两步:

  1. npx指令去检查预制定的依赖包是否在本地工程项目(node_modules/.bin文件夹以及$path 路径)里已经安装,如果依赖包已经安装,那么直接执行指令
  2. 如果该依赖包没有安装,则直接拉取最新版本的该依赖包安装并冰之

npx相关的一些指令

  • –no-install:只使用本地依赖;如果依赖在本地没有安装,也不会去拉取远端的依赖,只会报错
  • –ignore-existing:和上面那条指令相反,忽略本地模块,只拉取远端最新的依赖
  • -p:制定依赖,在多个模块的时候使用
  • -c:执行多模块/依赖指令

npm和npx区别是什么呢?

那么npx和node包管理器有什么区别呢:

  1. npm下载安装以来包到本地,然后需要手动删除;npx是临时下载安装依赖包,完成后会自动删除安装包。
  2. 运行npm install命令的时候,大致的流程是:npm install命令输入 > 检查node_modules目录下是否存在指定的依赖 > 如果已经存在则不必重新安装 > 若不存在,继续下面的步骤 > 向 registry(本地电脑的.npmrc文件里有对应的配置地址)查询模块压缩包的网址 > 下载压缩包,存放到根目录里的.npm目录里 > 解压压缩包到当前项目的node_modules目录中;使用npx 命令则会直接执行一些指令,如果本地没有安装的话会直接拉取最新的版本安装并执行。
  3. npx 可以在不指定项目中的确切位置或使用别名的情况下运行正确版本的工具

参考链接

  1. https://www.w3cschool.cn/doc_npm/npm-getting-started-what-is-npm.html
  2. https://wanghi.cn/202003/15653.html
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。