JavaScript - 包管理器
在 JavaScript 中,包管理器是一种简化项目中库(或包)安装、管理和更新的工具。使用这些包(由其他开发者提供的可复用代码片段),您可以节省时间并无需从头开始添加功能。
包管理器的必要性
假设没有包管理器。在这种情况下,以下任务可能需要手动完成:
找到所有适合您项目的软件包。
验证软件包是否不包含任何已知漏洞。
挑选软件包。
将它们放置在它们所属的位置。
密切关注每个软件包的更新。
如果有新版本发布,请更新所有软件包。
删除所有不必要的软件包。
手动安排数十甚至数百个软件包需要花费大量的精力和时间。 JavaScript 中最常见的两个包管理器如下:
Node 包管理器 (npm)
Node 包管理器 (NPM) 是一个平台,旨在帮助开发者更轻松地使用和共享 JavaScript 代码。它与 Node.js 配合使用,Node.js 是一个 JavaScript 运行时,使 JavaScript 不仅可以在浏览器上运行,还可以在服务器上运行。
NPM 的作用如下:
NPM 简化了代码部分(称为包)的添加、修改和删除。这些软件包的工作原理类似于程序员用来向应用程序添加特定功能(包括管理用户输入或连接数据库)的构建块。
使用终端中的命令,开发者可以使用 NPM 快速设置或修改代码(例如,使用 npm install 添加软件包)。
NPM 提供了数百万个来自世界各地的人们贡献的软件包,因此,如果您需要用于常见任务的代码,那么毫无疑问有人已经为其创建了软件包。
许多软件包是相互依赖的。NPM 会密切关注这些链接,并确保您拥有运行代码所需的所有资源。
命令
以下是一些可用于发挥 NPM 优势的命令 -
npm install "package-name": 使用此命令,您可以安装一个软件包。
npm uninstall "package-name": 使用此命令,您可以删除一个软件包。
npm update "package-name": 使用此命令,您可以更新一个软件包。
npm init: 使用此命令,您可以设置一个新项目并创建一个 package.json 文件。
package.json 文件
每个 JavaScript 项目,无论是 Node.js 还是浏览器应用程序,都可以定义为一个 npm 软件包,其中包含其自己的软件包信息和 package.json文件用于描述项目。
当使用 npm init 启动 JavaScript/Node.js 项目时,会使用开发者提供的以下基本元数据创建 package.json -
name: JavaScript 库/项目的名称
version: 显示项目的版本。在应用程序开发中,此字段通常会被忽略,因为开源库似乎不需要进行版本控制。但它可以用作部署版本的来源。
description: 项目描述。
license: 项目的许可证
Yarn
Yarn 与 NPM 类似,是一个允许开发者管理代码包的平台。 Facebook 创建它是为了解决开发人员在使用 NPM 时遇到的某些问题,例如性能和稳定性。
安装方法分为三个步骤 -
解决方案Yarn 首先通过向注册表发送查询并迭代查找每个依赖项来解析依赖项。
获取:接下来,Yarn 检查全局缓存目录,查看所需的包是否已下载。如果尚未下载,Yarn 会获取包的 tarball 并将其保存在全局缓存中,以便离线工作并避免多次下载依赖项。包含依赖项的 tarball 也可以放在源代码管理中,以实现完全离线安装。
链接:最后,Yarn 通过将所有必需的文件从全局缓存复制到本地 node_modules 目录来连接所有内容。
命令
以下是一些可用于使用 yarn 的命令 -
yarn add "package-name": 您可以使用此命令安装软件包。
yarn remove "package-name": 您可以使用此命令删除软件包。
yarn update "package-name": 使用此命令更新软件包。
yarn init: 您可以设置一个新项目并创建一个 package.json 文件。
Yarn 使用锁定文件 (yarn.lock) 来验证团队中的所有开发人员是否使用相同版本的软件包。这有助于避免版本变化导致的错误。
为什么要使用包管理器?
npm 和 Yarn 都被广泛使用,两者之间的选择通常基于个人或项目偏好。以下是您应该使用包管理器的原因:
节省时间:轻松安装和使用现有库,从而节省时间。
依赖项管理:自动管理您选择的库所需的库。
轻松更新:当有升级或安全更新可用时,可以快速更新包。

