什么是npx?

npx 介绍

npm 升级到 5.2.0 之后的人可能会注意到它时候发现会买一送一,自动安装了 npx。 npx,类似于 npm 简化了项目开发中的依赖安装与管理,该工具致力于提升开 发者使用包提供的命令行的体验。npx 允许我们使用本地安装的命令行工具而不 需要再定义 npm run-script,并且允许我们仅执行一次脚本而不需要再将其实际 安装到本地。

npx 的使用

在过去的几年中,npm 生态系统越来越倾向于将工具安装为项目本地 devDependencies,而不是要求用户在全局范围内安装它们。这意味着,像工具 mocha,grunt 和 bower,曾经被全球主要安装在系统上,现在可以对每个项目 的基础上管理自己的版本。这也意味着,要使基于 npm 的项目启动并运行,您 需要做的就是确保在系统上有 node + npm,克隆 git repo,然后 npm it 运行 install 和运行 test。由于 npm run-script 在路径中添加了本地二进制文件,因此 工作正常!

缺点是,这使您无法以交互方式快速/方便地调用本地二进制文件。有几种方法可以做到这一点,他们都有一些烦恼:你可以添加这些工具 scripts,但是你需要 记住通过使用传递参数--,你可以做类似的 shell 技巧 alias npmx=PATH=$(npm bin):$PATH,或者你可以手动路径到他们./node_modules/.bin/mocha。这些都有 效,但没有一个是理想的。npx 为我们提供了更好的方式。

总结一下全局安装 cmd 的弊端:

1、 对于不常用的 cmd,只是用一次。但一直占用我们的内存。

2、 现在的大多数项目都有自己的依赖管理。也就是每个项目使用的依赖或者 指令都有自己的版本。一旦使用全局依赖进行调用会报错。

对于 npx 我们可以直接调用 npx command 通过这种方式直接调用指令。会非 常方便。

举例来说:之前我们通过 npm runscripts 的方式运行 webpack 是这样的:

./node_modules/.bin/webpack 

对于 npx:

只要本地已经安装过之后,直接执行 npx webpack 就可以。是不是非常方便。 对于没有的指令。包括 npx 的指令查找方式是怎么样的,接下来我们来看看。 当我们通过 npx 执行命令时:

npx 先从当前目录下 /node_modules/.bin 目录进行查找,如果查找到,直接把 可执行文件进行执行。

如果没有找到,会到全局的 Path 环境变量中配置的目录 去查找全局指令。

如果在没找到 npx 可以自己下载该指令。并且执行。这样的话就避免了安装包 一直占用全局内存的问题,而且每次下载都是最新的。

关于 npx 还有一些其他的内容,这里就不过多描述,想了解的同学可以去看看官方文档。

最后:

npx 大家可以理解成一个执行器。寻找路径分为三层: 当前路径下的 node_modules 环境变量下的 Path 变量的路径下的 node_modules(一般指全局) 如果没找到指令会进行安装。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值