为了账号安全,请及时绑定邮箱和手机立即绑定

npm VS npx

标签:
JavaScript

如果你一直在使用 Node.js,你很可能遇到过 npmnpx
虽然它们听起来相似,并且都是 Node.js 生态系统的重要成员,但它们有不同的用途。这篇帖子将解释 npmnpx 之间的不同之处,帮助你了解何时以及如何使用它们。

NPM是什么?

NPM,即 Node Package Manager ,是 Node.js 的默认包管理工具,它允许开发人员安装、分享和使用她们项目的包(如库或代码模块)。

这里有一些npm常做的任务:

  • 安装依赖项步骤:
在命令行中输入: npm install <package-name> (`安装包名前请确保你已初始化npm环境`)

切换到全屏,然后退出全屏

  • 管理包版本: 指定特定版本的库以保持构建的一致性。

  • 运行特定于项目的脚本: 在 package.json 文件中定义的脚本。
在终端中运行 `npm run` 命令后跟脚本名称,可以执行指定的脚本。

进入或退出全屏模式。

NPX是什么样的?

npx 是一个在 NPM 5.2.0 版本(2017年7月)引入的工具。虽然 npm 主要负责管理依赖和包,npx 却是用来运行 Node.js 包的,特别是 CLI 工具等命令行工具,而无需将它们全局安装。

NPM 和 NPX 之间的区别:

1. 包的安装与运行

  • NPM: 当你使用 npm 安装一个包时,它要么全局安装,要么安装到你的项目文件夹里。这意味着在用之前,你得先装好它。
npm install -g create-react-app
create-react-app my-app

可以用这两行命令来全局安装 create-react-app,然后创建一个新的 React 项目叫 my-app

进入全屏,退出全屏

  • NPX : 使用 npx,您可以运行命令行工具或可执行文件 而无需全局安装。 例如,您可以直接运行 create-react-app 而无需全局安装。
npx create-react-app my-app
# 执行此命令可以创建一个名为my-app的新的React应用(创建React应用)

全屏模式 | 退出全屏

这节省了时间和磁盘空间的占用,你不需要安装那些可能只用一次的包。

zh: (此处省略)

2. 全局模块
使用 npm 时,全局模块会被安装并保留在您的系统中,有时可能会让您的环境变得有点乱。

通过npx,您可以通过运行一个包而无需担心它会一直占用您的系统空间。

使用 npm 安装全局包的示例:

使用npm全局安装typescript。
查看tsc版本。

切换到全屏模式,退出全屏

使用 npx,您无需进行全局安装

运行以下命令来查看TypeScript编译器的版本:
npx tsc --version

全屏进入,全屏退出

zh: zh: …… (此处省略了部分内容)

3. 自动包管理
当你使用 npx 运行一个命令时,它会自动检查该包是否存在本地或全局,如果不存在,则会自动下载并临时运行它。这在执行一次性任务时特别有用。

比如说

npx cowsay "Hello, World!" // 输出“Hello, World!”的命令,通过cowsay工具显示。

进入全屏或退出全屏

如果尚未安装,这将会下载 cowsay 包,运行该包,然后清理干净。


4. 不使用脚本打包可执行文件
当使用 npm 运行 package.json 中定义的命令时,你可以这样写:

// 运行自定义脚本
npm run my-script

全屏模式/退出全屏

但有了 npx,你就可以直接运行命令了。

输入以下命令来运行脚本: npx my-script.

全屏观看 退出全屏

当脚本未在 package.json 中明确列出时,这特别管用。

使用NPM的时机

使用 npm 来管理项目依赖项,包括安装、更新和移除。

- 运行特定于项目的脚本:package.json 文件中定义并根据您的项目定制。

- 管理包版本: 固定特定版本的库以保持项目的一致性。

什么时候可以用 NPX(一种工具或技术)

- 一次性执行的包: 使用 npx 来运行不想全局安装的包,例如只会用一次的 CLI 工具。

- 运行命令: 对于 create-react-app 这样的命令,你可以使用 npx 来运行这些命令而不需要全局安装。

- 测试不同版本: 快速运行特定版本而无需安装。

最后,npmnpx 都是 Node.js 生态系统中的重要工具,但它们有着不同的用途。用 npm 来管理项目的依赖,用 npx 来运行包而不进行永久安装。

这个小小的区别能让您的工作流程更顺畅,省时又避免了不必要的全局安装步骤。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消