从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. 什么…...
美胸-年美-造相Z-Turbo与Anaconda环境配置指南
美胸-年美-造相Z-Turbo与Anaconda环境配置指南 如果你对AI绘画感兴趣,最近肯定听说过“美胸-年美-造相Z-Turbo”这个模型。它生成的人像图片质量确实不错,特别是那种半写实、带点东方韵味的风格,很受大家喜欢。 但很多朋友在第一步就卡住了…...
忍者像素绘卷GPU优化部署教程:双显卡加速与显存平衡详解
忍者像素绘卷GPU优化部署教程:双显卡加速与显存平衡详解 1. 认识忍者像素绘卷 忍者像素绘卷是一款基于Z-Image-Turbo深度优化的图像生成工作站,专为像素艺术创作而设计。它将16-Bit复古游戏美学与现代AI技术完美结合,为创作者提供了一个独特…...
旧Mac如何重获新生?开源工具实现系统升级完整指南
旧Mac如何重获新生?开源工具实现系统升级完整指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 随着苹果不断推出新的macOS版本,许多…...
Qwen3-14B推理速度实测:10核CPU+24GB显存下首token延迟<800ms
Qwen3-14B推理速度实测:10核CPU24GB显存下首token延迟<800ms 1. 测试环境与配置 1.1 硬件配置 本次测试使用的硬件配置完全匹配Qwen3-14B私有部署镜像的推荐规格: GPU:RTX 4090D 24GB显存(NVIDIA驱动550.90.07)…...
从变砖到重生:红魔全系9008深度救砖指南与实战解析
1. 什么是9008模式?为什么能救砖? 当你发现红魔手机卡在开机界面、反复重启甚至完全黑屏时,大概率是遇到了传说中的"变砖"。这时候高通芯片隐藏的9008模式就是最后的救命稻草。简单来说,9008模式相当于电脑的BIOS界面&…...
如何通过ExplorerPatcher实现Windows 11界面个性化定制:从经典布局到高效工作流
如何通过ExplorerPatcher实现Windows 11界面个性化定制:从经典布局到高效工作流 【免费下载链接】ExplorerPatcher This project aims to enhance the working environment on Windows 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher Wi…...
Mid-70激光雷达与相机无目标标定:从环境搭建到实战避坑
1. 为什么选择Ubuntu 16.04进行Mid-70标定 最近在给Livox Mid-70激光雷达做相机标定时,我踩了个大坑——在Ubuntu 22.04上折腾了整整两天都没搞定环境配置。后来才发现问题出在版本兼容性上:ROS Kinetic、Ceres 1.14.x和Eigen 3.2.92这几个关键组件在新系…...
Ubuntu 18.04 + CUDA 11.3 下,手把手教你搞定 MinkowskiEngine 的编译安装(附避坑指南)
Ubuntu 18.04 CUDA 11.3 环境下的 MinkowskiEngine 编译实战指南 在3D点云处理和稀疏卷积领域,MinkowskiEngine 凭借其高效的稀疏张量计算能力已成为研究者的重要工具。然而,其复杂的依赖关系和编译过程常常让开发者望而却步。本文将基于 Ubuntu 18.04…...
Swin2SR效果实测:处理含文字区域图像时的可读性保持能力专项测试
Swin2SR效果实测:处理含文字区域图像时的可读性保持能力专项测试 1. 测试背景与目的 在日常工作和生活中,我们经常会遇到一些低分辨率、模糊不清的图片,特别是那些包含文字的图像。无论是扫描的文档、网页截图,还是老照片中的文…...
告别重复劳动:用快马ai生成高效openclaw脚本提升安卓测试效率
告别重复劳动:用快马AI生成高效OpenClaw脚本提升安卓测试效率 在安卓自动化测试中,编写重复性的设备操作脚本往往是最耗时耗力的环节。每次测试新版本,我们都需要重复编写类似的点击、滑动、输入等操作代码,不仅效率低下…...
