从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
复制代码
相关推荐
brucelee18615 分钟前
OpenClaw 浏览器控制(Chrome MCP)完整教程
前端·chrome
ct97829 分钟前
React 状态管理方案深度对比
开发语言·前端·react
胡志辉的博客1 小时前
深入浅出理解浏览器事件循环:从一道输出题讲到 Chrome 源码
前端·javascript·chrome·chromium·event loop
代码不加糖1 小时前
js中不会冒泡的事件有哪些?
前端·javascript·vue.js
懂懂tty1 小时前
Vue2与Vue3之间API差异
前端·javascript·vue.js
AI焦点1 小时前
跨越协议鸿沟:Tool Use状态机从Anthropic到OpenAI兼容体系的适配要点
前端·人工智能
Dxy12393102161 小时前
Python线程锁:为什么多线程会“打架“,以及怎么解决
开发语言·前端·python
海兰2 小时前
【web应用】Excel 项目数据自动化分析系统(AI 驱动分析)详细设计与部署指南(附源代码)
前端·人工智能·自动化·excel
2501_940041742 小时前
技术分享:高质量全栈开发提示词设计实践 —— 覆盖简单到复杂
前端·prompt
IT_陈寒2 小时前
Python的os.path.join居然能这么坑?
前端·人工智能·后端