继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

npm VS npx

海绵宝宝撒
关注TA
已关注
手记 456
粉丝 40
获赞 127

如果你一直在使用 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 来运行包而不进行永久安装。

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP