带你深入了解NPM——NPM初学者指南 (3)

ls列出当前项目的所有已安装软件包。您可以列出全局包或本地安装的包。在任何一种情况下,它不仅会列出package.json文件中可见的名称和版本,还会列出它们的依赖关系及其版本。

outdated检查项目中过时的包。它将为您提供已安装软件包的报告,其当前版本,package.json文件期望的版本以及主注册表中发布的最新版本。

owner允许您管理包所有者。如果您是图书馆所有者或维护者,这一点很重要,但如果您仅限于使用包,则不是这样。

ping ping当前配置的主npm注册表并测试身份验证。这仅在您下载或安装任何软件包时遇到问题。它只会帮助您解决部分问题,但重要的是要记住它。

prefix显示当前前缀,换句话说,显示最近文件夹中包含package.json文件的路径。您可以使用该-g标志,您将获得安装全局包的实际位置。

publish允许开发人员通过使用组和组织公开或私下与他人共享模块。

这些是您可以使用的最常见或最有用的NPM命令,但是仍然有超过10个额外的命令供您查看,因此我建议您将其文档添加为书签,并做一个注释以便返回并仔细检查它!

 

如何发布我自己的包

我要分享关于NPM知识的最后一点是与其他人分享你的工作是多么容易。在上一个列表中,最后一个命令是发布命令,它基本上允许你这样做,但在这里我想给你更多的细节。

准备项目的元数据

NPM的注册表本质上是一个巨大的包搜索引擎,能够同时托管所有内容,因此您不必同时索引它可以在您的工作中获得的每一点元数据,以帮助其他人找到您的模块尽快。

换句话说,请确保您package.json的设置正确。因为这些内容是吸引您(以及其他人)开始研究及分享您的包的主要因素。

Name:这是列表中最明显和最常见的,也是您在创建package.json文件以跟踪依赖关系时可能已经设置的名称。请注意它的唯一性。

Description:描述你的包,以便其他人可以快速了解他们在安装时会得到什么。并确保在描述中添加尽可能多的重要关键字,以便搜索引擎知道如何快速找到您。这是尝试找到您的软件包的开发人员的需求与引擎首先尝试正确索引的需求之间的平衡。

Tags:这是一个以逗号分隔的关键字列表。话虽这么说,一旦你开始发布包,这些标签就非常重要,因为在NPM的主站点上,它们可以作为你可以轻松浏览的类别。因此,如果您没有完善你package.json中的标签属性,其他开发人员将很难通过分类导航找到你的包。

Private:除非您只是自用,否则您需要尽快设置该属性为false,否则没有人能够通过关键字搜索找到您的模块。

Bugs:这确保如果您在某个地方托管了您的内容,例如存在公共问题跟踪的Github,则将此属性设置为正确的URL。这将帮助NPM显示链接并在包页面上显示当前打开的问题的数量。

Repository:不是严格要求的属性,但是如果你添加它,NPM将能够显示额外的信息,例如它的链接,活动,协作者列表,仅举几例。

Homepage:与前一个一样,它将帮助NPM显示指向此URL的单独链接(如果存在)。当您将代码放在一个URL(例如Github仓库)和专用于另一个URL中的模块的特定网站时,这尤其重要。

License:用于显示您在项目中设置的实际许可证。如果您将其添加为package.json文件的一部分,它将以不同且更突出的方式显示。您也可以在readme.md上提及它,但在此处添加它将为NPM提供有关您的项目的额外知识。

通过提供我上面提到的元数据,NPM能够展示这些数据并突出显示它供开发人员查看。以下示例为Winston的包页面:

 

带你深入了解NPM——NPM初学者指南

 

 

由于其团队添加了元数据,添加了多少链接以及额外的位和详细信息。

一份优秀的文档

这步是可选的,但如果你的包是一个可供其他开发人员使用的模块的话,那么我建议你最好提供一份优秀的文档,供他人参考。

因为你真的不能指望你的工具“上手简单、易于理解”。NPM

的目的是为其他人提供一套帮助他们解决问题的预置工具。因此,请尽量丰富你的文档,吸引更多人来使用你的工具吧。

正式发布包

编码完成后,将有效的package.json放置到你的目录中,并编写尽可能完善的readme.md文件,您就可以发布了。

要执行发布操作,您必须做两件事:

使用npm CLI 登录您的NPM帐户(如果您已经有了账号)。

发布您的代码。

也就是只需两步,就能简单的完成发布。登陆:

$ npm login

将提示您输入凭据,一旦您成功登录,您可以再输入:
$ npm publish

请在项目的文件夹中执行此操作,否则第二个命令将失败。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyssyd.html