从NPM注册中心获取包

目录

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

[1.1 为什么使用](#1.1 为什么使用)

[1.2 工作原理](#1.2 工作原理)

1、质量

2、维护

3、受欢迎程度

4、名气

1.1、开始搜索包

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

[2.1 安装未限定作用域的包](#2.1 安装未限定作用域的包)

[2.2 安装有作用域的公共包](#2.2 安装有作用域的公共包)

[2.3 安装私有包](#2.3 安装私有包)

[2.4 测试包安装](#2.4 测试包安装)

[2.5 已安装的软件包版本](#2.5 已安装的软件包版本)

[2.6 安装带有dist-tags的包](#2.6 安装带有dist-tags的包)


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 安装未限定作用域的包

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

bash 复制代码
npm install <package_name>

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

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

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

2.2 安装有作用域的公共包

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

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

bash 复制代码
npm install @scope/package-name

2.3 安装私有包

私有软件包

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

bash 复制代码
npm install @scope/private-package-name

2.4 测试包安装

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

bash 复制代码
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,可以运行以下命令:

bash 复制代码
npm install example-package@beta
复制代码
相关推荐
光影少年几秒前
vue2与vue3的全局通信插件,如何实现自定义的插件
前端·javascript·vue.js
As977_1 分钟前
前端学习Day12 CSS盒子的定位(相对定位篇“附练习”)
前端·css·学习
susu10830189113 分钟前
vue3 css的样式如果background没有,如何覆盖有background的样式
前端·css
Ocean☾5 分钟前
前端基础-html-注册界面
前端·算法·html
Dragon Wu7 分钟前
前端 Canvas 绘画 总结
前端
CodeToGym12 分钟前
Webpack性能优化指南:从构建到部署的全方位策略
前端·webpack·性能优化
~甲壳虫13 分钟前
说说webpack中常见的Loader?解决了什么问题?
前端·webpack·node.js
~甲壳虫17 分钟前
说说webpack proxy工作原理?为什么能解决跨域
前端·webpack·node.js
Cwhat18 分钟前
前端性能优化2
前端
熊的猫1 小时前
JS 中的类型 & 类型判断 & 类型转换
前端·javascript·vue.js·chrome·react.js·前端框架·node.js