从NPM注册中心获取包

news2024/11/29 5:43:10

目录

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

1.1 为什么使用

1.2 工作原理

1、质量

2、维护

3、受欢迎程度

4、名气

1.1、开始搜索包

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

2.1 安装未限定作用域的包

2.2 安装有作用域的公共包

2.3 安装私有包

2.4 测试包安装

2.5 已安装的软件包版本

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

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

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

 
 
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/857894.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode算法递归类—两两交换链表中的节点

目录 24. 两两交换链表中的节点 题解&#xff1a; 代码&#xff1a; 运行结果&#xff1a;​编辑 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节…

线程池工作原理深入解析

目录 1. 线程正常的生命周期 2. 为什么要用线程池&#xff1f; 3. 线程池的核心原理 4. 怎样创建线程池&#xff1f; 5.线程池的代码实现 6. ThreadPoolExecutor 源码分析 7. ThreadPoolExecutor 工作原理展示&#xff08;重点&#xff09; 1. 线程正常的生命周期 我们知…

Pyinstaller 打包 django 项目如何将命令行参数加入?

起因 Pyinstaller 打包 django 项目&#xff0c;打包成 manage.exe 后用命令行 cmd manage.exe runserver 0.0.0.0:8001 --noreload 来运行感觉很不方便。 希望能够直接把命令行参数也打包进去&#xff0c;直接运行 exe 。我走了些弯路&#xff0c;但最终实现了。 弯路 我看…

Linux —— 基础I/O

一&#xff0c;背景介绍 狭义的文件存放在磁盘上&#xff0c;广义上在Linux下一切皆文件&#xff1b;磁盘上的文件一般为永久存储的外设&#xff0c;本质上对文件的操作&#xff0c;即为对外设的输入和输出&#xff08;简称I/O&#xff09;&#xff1b;空文件并不是不占磁盘文件…

Xamarin.Android实现手写板的功能

目录 1、背景说明2、实现效果3、代码实现3.1 整体思路3.2 核心绘画类-PaintView.cs3.3 对话框类-WritePadDialog.cs3.4 前端实现类-MainActivity3.5 布局文件3.5.1 write_pad.xml3.5.2 activity_main布局文件 4、知识总结5、代码下载6、参考资料 1、背景说明 在实际使用过程中…

【动态规划刷题 6】 买卖股票的最佳时机含冷冻期 买卖股票的最佳时机含手续费

买卖股票的最佳时机含冷冻期 链接: 买卖股票的最佳时机含冷冻期 给定一个整数数组prices&#xff0c;其中第 prices[i] 表示第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下&#xff0c;你可以尽可能地完成更多的交易&#xff08;多次买卖一支股票…

【赠书活动|第四期《互联网广告系统:架构、算法与智能化》】

文章目录 内容简介作者简介读者对象大咖推荐抽奖方式 广告平台的建设和完善是一项长期工程。例如&#xff0c;谷歌早于2003年通过收购Applied Semantics开展Google AdSense 项目&#xff0c;而直到20年后的今天&#xff0c;谷歌展示广告平台仍在持续创新和提升。广告平台是负有…

2024软考系统架构设计师论文写作要点

一、写作注意事项 系统架构设计师的论文题目对于考生来说&#xff0c;是相对较难的题目。一方面&#xff0c;考生需要掌握论文题目中的系统架构设计的专业知识;另一方面&#xff0c;论文的撰写需要结合考生自身的项目经历。因此&#xff0c;如何将自己的项目经历和专业知识有机…

内网穿透:实现公网访问内网群晖NAS的方法

公网远程访问内网群晖NAS 7.X版 【内网穿透】 文章目录 公网远程访问内网群晖NAS 7.X版 【内网穿透】前言1. 在群晖控制面板找到“终端机和SNMP”2. 建立一条连接公网数据隧道3. 获取公网访问内网群晖NAS的数据隧道入口 前言 群晖NAS作为应用较为广泛的小型数据存储中心&#…

RabbitMQ学习——发布订阅/fanout模式 topic模式 rabbitmq回调确认 延迟队列(死信)设计

目录 引出点对点(simple)Work queues 一对多发布订阅/fanout模式以登陆验证码为例pom文件导包application.yml文件rabbitmq的配置生产者生成验证码&#xff0c;发送给交换机消费者消费验证码 topic模式配置类增加配置生产者发送信息进行发送控制台查看 rabbitmq回调确认配置类验…

Shopee虾皮买家号注册时需要注意什么问题

虾皮是一家在线购物平台&#xff0c;如果您打算在虾皮上注册一个买家账号&#xff0c;以下是一些需要注意的问题&#xff1a; 账号安全&#xff1a;确保您选择一个安全的密码&#xff0c;并定期更改密码&#xff0c;以保护您的账号免受未经授权的访问。 个人信息&#xff1a;…

idea报“Could not autowire. No beans of ‘UserMapper‘ type found. ”错解决办法

原因和解决办法 1.原因 idea具有检测功能&#xff0c;接口不能直接创建bean的&#xff0c;需要用动态代理技术来解决。 2.解决办法 1.修改idea的配置 1.点击file,选择setting 2.搜索inspections,找到Spring 3.找到Spring子目录下的Springcore 4.在Springcore的子目录下…

uni-app使用vue语法进行开发注意事项

目录 uni-app 项目目录结构 生命周期 路由 路由跳转 页面栈 条件编译 文本渲染 样式渲染 条件渲染 遍历渲染 事件处理 事件修饰符 uni-app 项目目录结构 组件/标签 使用&#xff08;类似&#xff09;小程序 语法/结构 使用vue 具体项目目录如下&#xff1a; 生命…

三步免费接入 Claude 2.0,支持多账号轮询!

Claude 2.0 已经发布了一段时间&#xff0c;经过我的非暴力测试&#xff0c;比 ChatGPT 3.5 的能力是要强的&#xff0c;有更强大的上下文 100k&#xff0c;相当于 10 万字的上下文记忆,非常适合处理长文档和大的代码段&#xff0c;虽说有些方面略逊色 ChatGPT 4.0 &#xff0c…

日常工具 之 一些 / 方便好用 / 免费 / 在线 / 工具整理

日常工具 之 一些 / 方便好用 / 免费 / 在线 / 工具整理 目录 日常工具 之 一些 / 方便好用 / 免费 / 在线 / 工具整理 1、在线Json &#xff0c;可以在线进行json 格式验证&#xff0c;解析转义等操作 2、Gif动图分解&#xff0c;在线把 gif 图分解成一张张单图 3、在线P…

仓储10、20代电子标签接口文档

标签注册 仓储10代注册 右下角左下角组合按键触发注册 注册成功&#xff1a;右上角绿灯变红灯&#xff0c;并显示信号强度的数值 ​ 仓储20代注册 右下角左下角组合按键触发注册 注册成功&#xff1a;右上角绿灯变红灯&#xff0c;并显示信号强度的数值 ​ 查询电子标签信息…

dinput8.dll导致游戏打不开的解决方法,快速修复dinput8.dll文件

当你尝试启动某个游戏时&#xff0c;如果遇到dinput8.dll文件缺失或损坏的错误提示&#xff0c;可能会导致游戏无法正常运行。dinput8.dll是DirectInput API的一部分&#xff0c;它提供了游戏手柄、键盘和鼠标等输入设备的支持。本文将详细介绍dinput8.dll的作用、导致游戏无法…

核心板如何选择合适的封装?

▍引言 核心板如何选择合适的封装&#xff1f; 核心板是一种集成了CPU、内存、存储、网络等功能的微型计算机模块&#xff0c;可以作为嵌入式系统的核心部件&#xff0c;或者作为开发板的扩展模块。核心板的封装方式决定了它与底板或者开发板的连接方式&#xff0c;影响着核心…

PP-ChatOCR:基于文心大模型的通用图像关键信息抽取利器,开发提效50%!

在日常生活中&#xff0c;大家经常会遇到图像关键信息自动抽取的场景&#xff0c;比如身份证拍照上传自动识别、发票拍照上传自动报销等。 在这个领域&#xff0c;现有的AI技术方案已经能解决一部分需求&#xff0c;但是依然存在一些痛点&#xff0c;比如发票的种类样式极其繁多…

低代码、逻辑、规则、数据分析、协同工具集合,解决企业不同需求

大家好&#xff0c;我是为IT部门兄弟操碎了心的“软件部长”&#xff0c;随着企业IT建设的不断发展&#xff0c;软开企服也在经历了数十年的项目中积累了丰富的经验&#xff0c;为此开始了IT软件的研发之路&#xff0c;之后就一发不可收拾。。。才有了现在出现在市面上的JVS。 …