首页 前端知识 Node JS 模块:NPM 发布 |发布 NPM 包

Node JS 模块:NPM 发布 |发布 NPM 包

2024-06-18 00:06:49 前端知识 前端哥 257 720 我要收藏

概述

NPM 或 Node Package Manager 是世界上最大的软件存储库,它使开发人员能够发布他们的包并使用其他人发布的包。包允许您向应用程序添加一些常用功能。如果您正在考虑向 Node 应用程序添加任何通用功能,那么很可能已经存在用于它的 NPM 包。在本文中,我们将了解 NPM 是什么,创建一个包并使用 npm publish 命令发布 NPM 包。

介绍

一个包可能包含一个或多个模块,它可以帮助我们向 Node 项目添加一些功能。包管理器用于管理所有项目依赖项。它帮助我们安装、升级、配置和删除项目中使用的各种依赖项。 NPM 或 Node Package Manager 是 NodeJS 的默认和最流行的包管理器。NPM 有一个 CLI 或命令行界面,用于安装和管理项目依赖项,以及一个托管各种 Javascript 包的在线存储库。

安装 NPM

NodeJS 安装程序包括 Node 和 NPM。因此,如果系统中已经安装了 Node,则可以在终端或命令提示符下使用以下命令来验证 NPM 安装:

 
npm -v

如果此命令记录错误,指出找不到命令,则需要按照下面讨论的步骤安装 NPM。否则,如果它记录了版本号,则表示已安装 NPM,您可以跳到本文的下一部分。

第 1 步:下载安装程序

进入 NodeJS 的官方网站,它会自动检测您的操作系统并显示您的操作系统支持的安装程序。 NodeJS 经常更新,具有新功能和性能改进,但由于频繁更新,它可能会不稳定。因此,始终建议使用最新的LTS(长期支持)版本,因为它更稳定可靠。

单击最新的 LTS 版本,NodeJS 安装程序将下载到您的系统中。

第 2 步:安装 NodeJS 和 NPM

在计算机上找到并打开 NodeJS 安装程序。您将看到将安装 NodeJS 和 NPM 的目录的版本和位置。点击继续

现在,系统会提示您接受软件许可协议。

在下一个屏幕上,将显示安装所需的磁盘空间。要更改安装位置,您可以单击“更改安装位置”并选择您选择的安装位置,最后单击“安装

这样,Node 和 NPM 就成功安装在您的系统上。现在,您可以关闭安装程序。

步骤 3:验证安装

打开终端或命令提示符,然后键入 node -v 以检查计算机上安装的 Node 版本。

 
> node -v
v16.17.0

现在,要检查 NPM 的版本,请使用 npm -v

 
> npm -v
8.15.0

这样,您就已成功在计算机上安装了 Node 和 NPM。

选择包名称

NPM 包名称可以是有作用域的,也可以是无作用域的。作用域是一种将相关包组合在一起的方法。每个注册用户和组织在 NPM 中都有自己的范围。只有有权访问该范围的用户才能发布具有该特定范围的 NPM 包。 作用域内的包名称通常引用为:

 
@<scope-name>/<package-name>

在创建新的包存储库之前,应检查 NPM 上是否已存在同名包。对于无作用域的包,包名称必须始终是唯一的。同样,不能在同一作用域中有两个同名的包。但是,如果存在名为 my-package 的无作用域包,则可以在不同作用域 @myscope/my-package 中创建具有相同名称的新包

创建您的第一个软件包

让我们创建并发布一个 NPM 包来计算给定字符串中的字数。创建一个新的目录字计数器并初始化 NPM。

 
mkdir word-counter
cd word-counter
npm init

然后,它会提示您添加包详细信息,例如包名称、版本、描述、git 存储库等。如果你想跳过这些,你可以直接使用 npm init -y 使用其默认值初始化包。 这将创建一个名为 package.json 的文件。它是存在于每个 Node 项目的根目录中的 JSON 文件,包含项目名称、描述、版本等重要信息。它还包含运行项目所需的所有依赖项的列表。 现在,在根目录中,创建一个新的文件index.js。在此文件中,我们将导出一个函数,该函数计算作为参数传递给此函数的字符串中的单词数。

 
module.exports.countWords = (str) => {
    //Creates an array of words by splitting the string whenever a space is encountered
    const arrayOfWords = str.split(' ');

    //Return the length of the array i.e. number of words in the string
    return arrayOfWords.length;
}

因此,我们已经成功创建了一个简单的包,在下一节中,我们将学习如何发布这个 NPM 包。

将包发布到 NPM

要发布 NPM 包,我们需要在其网站上创建一个帐户。如果您还没有帐户,请转到他们的注册页面并输入所有必需的详细信息以创建新帐户。 创建新帐户后,您需要在 CLI 中登录 NPM。在终端中,运行

 
npm login

CLI 将提示您输入用户名、密码和电子邮件。输入这些详细信息后,您应该登录到您的 NPM 帐户。现在,若要将包发布到 NPM,请确保位于包目录的根目录中并运行

 
npm publish

如果在运行此命令后收到错误,则很可能是 NPM 上已存在同名包。在这种情况下,您需要将 package.json 中的包名称更改为唯一名称。 如果包发布成功,可以去NPM的网站搜索包名;您应该会看到那里列出的包。

使用已发布的包

现在,让我们创建一个新的 Node 项目 word-counter-test,并尝试在我们的项目中使用我们新发布的 NPM 包。首先,让我们从创建一个新目录并初始化 NPM 开始。

 
mkdir word-counter-test
cd word-counter-test
npm init -y

由于我们的包已经在 NPM 上发布,因此我们可以使用 npm install 命令将包安装在我们的项目中。在下面的命令中,将 word-counter 替换为您的包名称

 
npm install word-counter

现在,创建一个新的文件index.js。在这个文件中,我们将导入我们的包并使用包中定义的 countWords() 方法

 
const { countWords } =  require('word-counter');

const str = 'This is a string to test the word counter';
const noOfWords = countWords(str);
console.log('No of words', noOfWords);

在终端中,运行节点index.js,字符串中的字数应记录在终端中。

取消发布程序包

在 NPM 上发布包后,其他开发人员可能已经在使用它。因此,通常不建议取消发布包。因此,只有在没有其他 NPM 包依赖于你的包时,才能在 72 小时内取消发布 NPM 包。如果一个软件包只有一个维护者,并且前一周的下载次数不超过 300 次,则该软件包只能在 72 小时后取消发布。

若要取消发布 NPM 包,请运行以下命令

 
npm unpublish <package-name> -f

此命令将从 NPM 中删除包。如果要删除包的单个版本,可以改用以下命令:

 
npm unpublish <package-name>@<version> -f

结论

  • NPM 是世界上最大的软件注册中心,拥有超过 210 万个软件包。
  • 它还有一个 CLI 工具,可帮助安装、配置和管理 Node 应用程序中使用的所有软件包。
  • 您应该始终使用最新的 Node LTS(长期支持)版本,因为它更稳定、更可靠,因为 LTS 版本保证至少 30 个月收到关键错误修复。
  • 一个包可以包含一个或多个文件,这些文件向 Node 项目添加某些功能。包必须始终具有要发布到 npm 注册表的package.json文件。
  • package.json文件以人类可读的JSON格式包含有关Node项目的所有元数据。
  • 可以使用 npm publish 命令发布 NPM 包,并使用 npm install 命令进行安装。
  • 不建议取消发布已发布的 Node 包,因为其他开发人员可能已经在其 NPM 包或其他项目中使用了您的包。
转载请注明出处或者链接地址:https://www.qianduange.cn//article/12561.html
标签
评论
发布的文章

jQuery基本使用

2024-06-24 02:06:16

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!