从NPM注册中心获取包
目录
1、搜索和选择要下载的包
1.1 为什么使用
1.2 工作原理
1、质量
2、维护
3、受欢迎程度
4、名气
1.1、开始搜索包
2、在本地安装下载和安装软件包
2.1 安装未限定作用域的包
2.2 安装有作用域的公共包
2.3 安装私有包
2.4 测试包安装
2.5 已安装的软件包版本
1、搜索和选择要下载的包
您可以使用npm搜索栏来查找要在项目中使用的包。npm搜索使用npms和npms分析器;
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 相关文章:
从NPM注册中心获取包
目录 1、搜索和选择要下载的包 1.1 为什么使用 1.2 工作原理 1、质量 2、维护 3、受欢迎程度 4、名气 1.1、开始搜索包 2、在本地安装下载和安装软件包 2.1 安装未限定作用域的包 2.2 安装有作用域的公共包 2.3 安装私有包 2.4 测试包安装 2.5 已安装的软件包版本…...
Elastic的下载
文章目录 ElasticSearch的下载扩展1(ElasticSearch 与 JDK 版本 适配)扩展2(访问 http://192.168.1.200:9200 没有显示信息)扩展3(免密登录) ElasticSearch的下载 官方下载网址:https://www.el…...
day52-Redis
Redis 1.Redis 1.1 RESP连接Redis 1.2 定义:是一个高性能的key-value数据库(非关系型数据库) 1.3 数据类型: key键的类型是字符串类型; 值的类型有五种:字符串String,哈希hash࿰…...
高效处理矢量大数据的高可用解决方案
高效处理矢量大数据的高可用解决方案 解决方案目标 存储海量矢量数据实时分析海量矢量数据实现海量矢量数据的可视化提供高可用、高性能和高可拓展性解决方案概述 海量数据查询与可视化 系统技术流程 方案一 数据存储: PostgreSQL+PostGIS(矢量数据存储和空间分析)数据服务…...
Docker Compose构建lnmp
目录 Compose的优点 编排和部署 Compose原理 Compose应用案例 安装docker-ce 阿里云镜像加速器 安装docker-compose docker-compose用法 Yaml简介 验证LNMP环境 Compose的优点 先来了解一下我们平时是怎么样使用docker的?把它进行拆分一下: 1…...
Flutter开发问题记录
1. Q:Mac电脑通过AndroidStudio运行软件到iphone报错 automatically assigning platform iOS with version 10.0 on target Runner because no platform was specified. A:项目中ios目录下,Podfile文件第2行 platform :ios, ‘11.0’,取消注释 2. Q:Mac电脑通过And…...
如何使用本地mock数据
当后端同事接口数据还未完成,我们前端开发需要使用数据时,怎么办呢?这里可以自己本地mock数据先用着啦!仅在开发时使用 1. 创建一个 xxx.js文件,对外暴露一个数组; 对新建js文件编写导出,返回数…...
XXL-JOB定时任务框架(Oracle定制版)
特点 xxl-job是一个轻量级、易扩展的分布式任务调度平台,能够快速开发和简单学习。开放源代码并被多家公司线上产品使用,开箱即用。尽管其确实非常好用,但我在工作中使用的是Oracle数据库,因为xxl-job是针对MySQL设计的ÿ…...
SpringBoot + ajax 实现分页和增删查改
0目录 1.SpringBoot 2.SpringBoot分页;增删改查 1.SpringBoot分页 创建数据库和表 创建SpringBoot工程,引入springboot下的分页依赖 配置application.yml 实体类 Mapper接口 Mapper.xml Service接口 Service实现类 控制层 测试 加…...
ProxyGenerator-代理类生成器
ProxyGenerator是JDK-sun包下提供的用于生成动态代理类信息的类,其唯一向外透出的是其静态方法-generateProxyClass(…)。 public class ProxyGenerator { ... }学习本篇文章,就是想学习ProxyGenerator如何生成代理类信息的过程。 一、唯一入口-公开静…...
ARM 内存屏障指令
ARM 内存屏障指令 1. dmb (Data Memory Barrier) 数据内存栅栏2. dsb (Data Synchronization Barrier) 数据同步栅栏3. isb (Instruction Synchronization Barrier) 指令同步栅栏4. ARM 内存屏障指令如何选择使用?5. 使用示例5.1. DMB指令示例:5.2. DSB指…...
了解Linux 的 mmap --- 笔记
学习这篇博客,进行了一些归纳Linux下mmap_linux mmap_一个山里的少年的博客-CSDN博客https://blog.csdn.net/qq_56999918/article/details/127070280 >>读取文件 读取文件方法:由操作系统提供的两个方法,read和write来读写文件。 由…...
docker删除容器(步骤详解)
要在Docker中删除容器,需要使用命令docker rm。 下面是详细步骤: 1. 首先,使用docker ps命令查看当前正在运行的容器。这个命令会列出所有正在运行的容器的ID、名称、状态等信息。 如果没有正在运行的容器可以通过docker ps -a 查看当前所…...
boost beast http server 测试
boost beast http client boost http server boost beast 是一个非常好用的库,带上boost的协程,好很多东西是比较好用的,以下程序使用四个线程开启协程处理进入http协议处理。协议支持http get 和 http post #include <boost/beast/cor…...
Android 10.0 系统开启禁用adb push和adb pull传输文件功能
1.使用场景 在进行10.0的系统开发中,在一些产品中由于一些开发的功能比较重要,防止技术点外泄在出货产品中,禁用 adb pull 和adb push等命令 来获取系统system下的jar 和apk 等文件,所以需要禁用这些命令 2.系统开启禁用adb push和adb pull传输文件功能的分析 看了下系统…...
浙大数据结构第七周之07-图4 哈利·波特的考试
基础知识:(最短路的前提都是在图中两条边之间的权值非定值) (一)Dijkstra方法 算法实现: …...
vue2-vue项目中你是如何解决跨域的?
1、跨域是什么? 跨域本质是浏览器基于同源策略的一种安全手段。 同源策略(sameoriginpolicy),是一种约定,它是浏览器最核心也是最基本的安全功能。 所谓同源(即指在同一个域)具有以下三个相同点…...
【Paper Reading】DETR:End-to-End Object Detection with Transformers
背景 Transformer已经在NLP领域大展拳脚,逐步替代了LSTM/GRU等相关的Recurrent Neural Networks,相比于传统的RNN,Transformer主要具有以下几点优势 可解决长时序依赖问题,因为Transformer在计算attention的时候是在全局维度进行…...
【rust/入门】windows安装rust gnu环境(折腾)
说在前面 首先说明,我是rust入门选手,之前都是在wsl写rust,突然想在windows下装下rust。windows版本:windows11 22H2原文换源 心路历程 看到教程我陷入了沉默,(官方推荐) 打开Microsoft C Build Tools我开始不解&…...
java面试---字符串相关内容
字符串 1. 什么是Java中的字符串池(String Pool)?2. String、StringBuilder和StringBuffer之间的区别是什么?3. 如何比较两个字符串的内容是否相等?4、equals和的区别5. String类有哪些常用的方法? 1. 什么…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
k8s从入门到放弃之HPA控制器
k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率(或其他自定义指标)来调整这些对象的规模,从而帮助应用程序在负…...
STM32标准库-ADC数模转换器
文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”:输入模块(GPIO、温度、V_REFINT)1.4.2 信号 “调度站”:多路开关1.4.3 信号 “加工厂”:ADC 转换器(规则组 注入…...
