从NPM注册中心获取包

简介: 从NPM注册中心获取包

1、搜索和选择要下载的包

您可以使用npm搜索栏来查找要在项目中使用的包。npm搜索使用npmsnpms分析器;

npms-代表npm search -旨在通过为node包提供更好的开源搜索来增强JavaScript社区。

1.1 为什么使用

npmjs.com允许开发人员搜索node包,但是使用过一段时间后,发现搜索到的结果不是很满意。官方搜索由Elasticsearch提供

支持,但没有配置高级分析器。更具体地,不启用词干提取

或拆分

。这对你意味着什么?尝试搜索“couchdb promise

”和“couchdb promise

”,看看搜索结果有多大不同。想象一下,由于这个原因,您在以前的搜索中丢失了多少包。

当屏幕上显示结果列表时,结果的顺序仅基于它们与搜索词的相关性。npmjs.com搜索不考虑软件包的价值,以将好的软件包排名更高。因此,用户必须手动逐个分析搜索结果,同时考虑到多个属性,例如软件包的版本(> 1.0.0?),下载次数、最新发布日期、GitHub问题数量、星、叉等。这一过程既繁琐又缓慢。

1.2 工作原理

npms分析器不断分析npm生态系统,从各种来源收集尽可能多的信息,包括GitHub,David

和nsp

。使用收集到的信息,根据四个不同的方面计算每个包的最终分数:

1、质量

质量属性易于计算,因为它们是独立的。这些是人们在签出包时首先查看的属性。

  • 是否README文件?是否有License?是否有.gitignore和friends。
  • 版本稳定吗(>1.0.0),是否已弃用
  • 是否有测试,覆盖率是多少?构建是否通过
  • 是否存在过时的依赖,是否有漏洞?
  • 是否有自定义的网站,是否有徽标?
  • 是否有已配置的链接?

2、维护

维护属性使我们能够了解包是否处于活动状态和运行状况,或者是否被放弃。这些通常是人们在检查包时查看的第二种属性。

  • 未解决的问题与总问题的比例
  • 关闭问题所需的时间
  • 最近提交
  • 提交频率
  • 发布频率

3、受欢迎程度

受欢迎程度属性使我们能够了解包的采用率和社区规模。这些是人们在未决定包选择时查看的属性。

  • 星数
  • 分叉数量
  • 订阅者数量
  • 贡献者数量
  • 依赖数
  • 下载次数
  • 下载加速

4、名气

如果两个包相似,则倾向于选择其作者在社区中广为人知的包。

人与人之间的关系也很重要。当用户关注另一个用户时,他们之间有一个链接。我们可以推断人们更喜欢他们关注的用户的软件包。

1.1、开始搜索包

在搜索栏中,键入搜索词,然后按Enter键。当您输入时,可能的选项将出现。

2、根据包的搜索排名规则列出所对应的包名称,包版本,以及基本描述信息。

3、在搜索列表中点击对应的包名,会进入包的详细描述页面。

npm注册中心搜索页面默认如下所示(npm

第一部分是展示的一些最受欢迎的一些包。

第二部分是按类型发现的一些包。

第三部分是包的总数,最近一周的下载量,最近一月的下载量。

第四部分是最近更新的一些包。

2、在本地安装下载和安装软件包

如果你想依赖你自己模块中的包,你可以在本地安装

一个包,使用类似Node.js中require进行引用,然后就可以使用包中的功能了。

2.1 安装未限定作用域的包

无作用域的软件包始终是公共的,这意味着任何人都可以搜索、下载和安装它们。若要安装公共包,请在命令行上运行

npm install <package_name>

这将在当前目录中创建node_modules目录(如果还不存在),并将软件包下载到该目录。

注意:如果本地目录中没有package.json文件,则安装最新版本的软件包。

如果存在package.json文件,npm会安装满足package.json中声明的最新版本。

2.2 安装有作用域的公共包

任何人都可以下载和安装作用域公共包

,只要在安装过程中引用作用域名称:

npm install @scope/package-name

2.3 安装私有包

私有软件包

只能由被授予对该软件包的读访问权限的用户下载和安装。由于私有包总是有作用域的,所以在安装过程中必须引用作用域名称:

npm install @scope/private-package-name

2.4 测试包安装

要确认npm install工作正常,请在您的模块目录中检查node_modules目录是否存在,并且它包含您安装的软件包的目录:

ls node_modules

2.5 已安装的软件包版本

如果在运行package.json的目录中有npm install文件,npm会安装满足package.json中声明的语义版本控制规则

的最新版本的包。

如果没有package.json文件,则安装最新版本的软件包。

2.6 安装带有dist-tags的包

npm publish一样,npm install <package_name>默认使用latest标签。

要覆盖此行为,请使用npm install <package_name>@<tag>。例如,要在标记为example-package的版本上安装beta,可以运行以下命令:

npm install example-package@beta


相关文章
|
1月前
|
JavaScript 前端开发 Java
npm学习一:npm 包管理工具 学习、使用。
这篇文章介绍了npm的基础知识和常用命令,包括安装包、查看包信息、管理依赖等操作,并提供了如何删除npm安装的镜像以及如何彻底删除node_modules文件夹的具体步骤。
81 2
|
1月前
|
JavaScript 前端开发 Java
npm学习一:npm 包管理工具 学习、使用。
这篇文章是关于npm包管理工具的学习、使用指南,包括npm概述、基础命令和如何安装webpack。
56 3
npm学习一:npm 包管理工具 学习、使用。
|
29天前
|
资源调度 前端开发 安全
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
73 0
|
2月前
|
数据安全/隐私保护
发布一个npm包
发布一个npm包
107 2
|
3月前
NPM——删除已发布的包
NPM——删除已发布的包
127 1
|
4月前
|
运维 Kubernetes Java
阿里云云效操作报错合集之npm包已经发布到了制品仓库,但流水线中拉取依赖时出现404错误,该如何排查
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
阿里云云效操作报错合集之npm包已经发布到了制品仓库,但流水线中拉取依赖时出现404错误,该如何排查
|
3月前
|
JavaScript 前端开发 开发者
从零到一:教你如何发布自己的npm插件包
从零到一:教你如何发布自己的npm插件包
|
3月前
|
JavaScript
GitHub——自动发布NPM包
GitHub——自动发布NPM包
23 0
|
4月前
|
JavaScript 测试技术
npm发布自己的插件包
npm发布自己的插件包
|
4月前
|
JavaScript 开发工具 数据安全/隐私保护
npm包【详解】(内含npm包的开发、发布、安装、更新、搜索、卸载、查看、版本号更新规则、package.json详解等)
npm包【详解】(内含npm包的开发、发布、安装、更新、搜索、卸载、查看、版本号更新规则、package.json详解等)
106 0