当前位置: 首页 > news >正文

如何将自己封装的组件发布到npm上:详细教程

如何将自己封装的组件发布到npm上:详细教程

作为前端开发者,我们经常从npm(Node Package Manager)上下载并使用各种第三方库和组件。然而,有时候我们可能会发现自己需要的功能在npm上并不存在,或者我们希望分享自己封装的一些组件供他人使用。本文将详细介绍如何将你自己封装的组件发布到npm上,让你也能成为npm社区的一员。
在这里插入图片描述

一、准备工作

1. 安装Node.js和npm

首先,你需要在自己的电脑上安装Node.js。Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许你在服务器端运行JavaScript代码。安装Node.js后,npm(Node Package Manager)会自动安装在你的电脑上,npm是Node.js的包管理器,它允许你安装、发布和管理Node.js包。[1]

2. 注册npm账号

在发布组件之前,你需要在npm官网上注册一个账号。你可以访问npm官网注册页面进行注册。注册完成后,你需要记住你的用户名、密码和邮箱,因为这些信息将在后续的登录和发布过程中使用。[2]

二、登录npm

在发布组件之前,你需要先登录到你的npm账号。你可以打开你的命令行工具(如cmd、Terminal或PowerShell),然后输入以下命令进行登录:

npm login

在这里插入图片描述

然后,按照提示依次输入你的用户名、密码和邮箱。如果你之前将npm仓库指向了淘宝镜像库(如安装了cnpm),你可能需要先将仓库设置回npm官方仓库。你可以使用以下命令进行设置:

npm config set registry=http://registry.npmjs.org

设置完成后,你可以使用以下命令查看当前的仓库设置:

npm config get registry

如果显示的是http://registry.npmjs.org,则说明设置成功。[3][4]

三、创建并初始化你的组件项目

1. 创建一个新的文件夹

首先,你需要在你的电脑上创建一个新的文件夹来存放你的组件代码。你可以使用命令行工具进入到你希望存放组件的目录,然后输入以下命令创建一个新的文件夹(以myComponent为例):

mkdir myComponent
cd myComponent

2. 初始化项目

进入文件夹后,你需要使用npm的init命令来初始化你的项目。这个命令会引导你创建一个package.json文件,这个文件包含了你的组件的元数据(如名称、版本、描述、入口文件等)。你可以输入以下命令进行初始化:

npm init

然后,按照提示依次填写相关信息。例如:

  • package name: 你的组件的名称(注意:这个名称在npm上必须是唯一的,你可以先在npm官网上搜索一下看看是否已经被占用)。[5][6]
  • version: 你的组件的版本号(通常从1.0.0开始)。
  • description: 你的组件的描述(简要说明你的组件的功能和用途)。
  • entry point: 你的组件的入口文件(默认是index.js)。
  • test command: 你的组件的测试命令(如果不打算写测试,可以直接回车跳过)。
  • git repository: 你的组件的git仓库地址(如果没有,可以直接回车跳过)。
  • keywords: 你的组件的关键词(用空格分隔,这些关键词将帮助用户在npm上搜索到你的组件)。
  • author: 你的姓名或昵称。
  • license: 你的组件遵循的开源协议(默认是ISC)。[7][8]

填写完毕后,npm会生成一个package.json文件,你可以打开这个文件查看和编辑你的组件的元数据。[9]

在这里插入图片描述

四、编写你的组件代码

package.json文件中指定的入口文件(默认是index.js)中编写你的组件的代码。例如,如果你正在编写一个React组件,你的index.js文件可能看起来像这样:

import React from 'react';const MyComponent = () => {return (<div><h1>Hello, My Component!</h1></div>);
};export default MyComponent;

当然,这只是一个简单的示例。你的组件可能包含更复杂的逻辑和功能。在编写组件代码时,请确保你的代码符合你所选择的框架或库的规范,并且已经进行了充分的测试和调试。

五、添加必要的文件和依赖

除了package.json和入口文件之外,你可能还需要添加其他文件和依赖来支持你的组件。例如:

  • README.md:这个文件通常包含你的组件的详细文档和示例代码,帮助用户了解如何使用你的组件。[10]
  • .gitignore:如果你打算将你的组件代码托管在git仓库上,这个文件可以帮助你指定哪些文件或目录应该被git忽略。
  • 依赖:如果你的组件依赖于其他npm包,你需要在package.json文件中的dependenciesdevDependencies部分添加这些依赖,并使用npm install命令进行安装。
六、发布你的组件

在发布之前,请确保你已经仔细检查了你的组件代码、文档和元数据,并且已经进行了充分的测试和调试。然后,你可以使用以下命令将你的组件发布到npm上:

npm publish

如果这是你第一次发布组件,npm可能会提示你进行一些额外的验证(如邮箱验证)。按照提示进行操作即可。发布成功后,你可以在npm官网上搜索到你的组件,并且其他开发者也可以使用npm install命令来安装和使用你的组件了。[11][12]

在这里插入图片描述

七、更新和维护你的组件

发布组件后,你可能需要根据用户的反馈和需求进行更新和维护。每次更新组件时,你需要修改package.json文件中的版本号,并按照以下步骤进行操作:

  1. 修改package.json文件中的版本号(例如,从1.0.0修改为1.0.1)。
  2. 使用npm publish命令将更新后的组件发布到npm上。
  3. 在npm官网上查看你的组件的更新信息,并确保更新已经成功。

此外,你还可以使用npm的deprecated命令来标记某个版本的组件为已弃用,并使用unpublish命令来从npm上删除某个版本的组件(但请注意,npm通常不建议删除已发布的版本,因为这可能会对其他开发者的项目造成影响)。[13]

八、总结

通过以上步骤,你可以将你自己封装的组件发布到npm上,并与其他开发者分享你的代码和成果。在发布组件之前,请确保你已经仔细检查了你的代码、文档和元数据,并且已经进行了充分的测试和调试。此外,你还需要遵守npm的社区规范和开源协议,尊重其他开发者的知识产权和劳动成果。希望本文能够帮助你顺利地将你的组件发布到npm上,并成为npm社区的一员。

相关文章:

如何将自己封装的组件发布到npm上:详细教程

如何将自己封装的组件发布到npm上&#xff1a;详细教程 作为前端开发者&#xff0c;我们经常从npm&#xff08;Node Package Manager&#xff09;上下载并使用各种第三方库和组件。然而&#xff0c;有时候我们可能会发现自己需要的功能在npm上并不存在&#xff0c;或者我们希望…...

位运算,状态压缩dp(算法竞赛进阶指南学习笔记)

目录 移位运算一些位运算的操作最短 Hamilton 路径&#xff08;状态压缩dp模板&#xff0c;位运算&#xff09; 0x是十六进制常数的开头&#xff1b;本身是声明进制&#xff0c;后面是对应具体的数&#xff1b; 数组初始化最大值时用0x3f赋值&#xff1b; 移位运算 左移 把二…...

node.js|环境部署|源码编译高版本的node.js

一、 前言 本文就如何二进制部署和源码编译安装部署node.js环境做一个简单的介绍 node的版本大体是以18版本为界限&#xff0c;也就是说18版本之前对glibc版本没有要求&#xff0c;其后的版本都对glibc版本有要求&#xff0c;node的版本越高&#xff0c;glibc需要的版本也越…...

通信安全员ABC证的考试内容包括哪些?

通信安全员 ABC 证的考试内容整体上围绕通信安全相关的法律法规、安全技术、安全管理等方面展开&#xff0c;但在具体侧重点上有所不同&#xff0c;以下是详细介绍&#xff1a; 通信安全基础知识 通信原理&#xff1a;包含模拟通信和数字通信的基本原理&#xff0c;如调制、解…...

Oracle--SQL基本语法

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 1、SQL语句介绍 在Oracle开发中&#xff0c;客户端把SQL语句发送给服务器&#xff0c;服务器对SQL语句进行编译、执行&#xff0c;把执行的结果返回给…...

windows服务器及网络:论如何安装(虚拟机)

今天我要介绍的是&#xff1a;在Windows中对于安装系统&#xff08;虚拟机的步骤以及相关的安装事宜&#xff09;&#xff0c;事不宜迟&#xff0c;让我们来看看系统安装&#xff08;虚拟机&#xff09;是怎么操作的&#xff1a; 对现在来说&#xff0c;安装电脑系统已经是非常…...

【网络篇】从零写UDP客户端/服务器:回显程序源码解析

大家好呀 我是浪前 今天讲解的是网络篇的第四章&#xff1a;从零写UDP客户端/服务器&#xff1a;回显程序源码解析 从零写UDP客户端/服务器&#xff1a;回显程序源码解析 UDP 协议特性​核心类介绍​ UDP的socket应该如何使用&#xff1a;1: DatagramSocket2: DatagramPacket回…...

学习笔记:黑马程序员JavaWeb开发教程(2025.3.23)

11.2 案例-文件上传-简介 文件上传的前端页面的代码需要放到springboot项目的static里面&#xff0c;也就是resource文件夹下面的static文件夹里面 服务端接收前端上传的数据&#xff0c;再服务端定义一个controller来接收数据&#xff0c;再controller中定义一个…...

提示词构成要素对大语言模型跨模态内容生成质量的影响

提示词构成要素对大语言模型跨模态内容生成质量的影响 提示词清晰度、具象性与质量正相关 限定指向性要素优于引导指向性要素 大语言模型生成内容保真度偏差 以讯飞星火大模型为实验平台,选取100名具备技术素养的人员,从提示词分类、构成要素和实践原则归纳出7种提示词组…...

浅聊docker的联合文件系统

前言&#xff1a; 在我们pull镜像的时候&#xff0c;就会发现一个神奇的地方&#xff0c;在将镜像pull到本地的时候它是分层下载的&#xff0c;如下图: 这时候我就有一个疑问&#xff0c;为什么是分层下载的&#xff1f;怎么和我们平时下载软件的时候不一样呢&#xff1f; 联…...

计算机视觉cv入门之Haarcascade的基本使用方法(人脸识别为例)

Haar CascadeXML特征分类器&#xff0c;是一种基于机器学习的方法&#xff0c;它利用了积分图像(或总面积)的概念有效地提取特征(例如&#xff0c;边缘、线条等)的数值。“级联分类器”即意味着不是一次就为图像中的许多特征应用数百个分类器&#xff0c;而是一对一地应用分类器…...

【NLP 62、实践 ⑮、基于RAG + 智谱语言模型的Dota2英雄故事与技能介绍系统】

羁绊由我而起&#xff0c;痛苦也由我承担 —— 25.4.14 英雄介绍文件&#xff1a; 通过网盘分享的文件&#xff1a;RAG 智谱语言模型的Dota2英雄故事与技能介绍系统 链接: https://pan.baidu.com/s/1G7Xo5TRvFl2BzUnE0NFaBA?pwd4d4j 提取码: 4d4j --来自百度网盘超级会员v3的…...

Keil MDK 编译问题:function “HAL_IncTick“ declared implicitly

问题与处理策略 问题描述 ..\..\User\stm32f1xx_it.c(141): warning: #223-D: function "HAL_IncTick" declared implicitlyHAL_IncTick(); ..\..\User\stm32f1xx_it.c: 1 warning, 0 errors问题原因 在 stm32f1xx_it.c 文件中调用了 HAL_IncTick()&#xff0c;但…...

OpenCV基础01-图像文件的读取与保存

介绍: OpenCV是 Open Souce C omputer V sion Library的简称。要使用OpenCV需要安装OpenCV包&#xff0c;使用前需要导入OpenCV模块 安装 命令 pip install opencv-python 导入 模块 import cv2 1. 图像的读取 import cv2 img cv2.imread(path, flag)这里的flag 是可选参数&…...

IP数据报

IP数据报组成 IP数据报&#xff08;IP Datagram&#xff09;是网络中传输数据的基本单位。 IP数据报头部 版本&#xff08;Version&#xff09; 4bit 告诉我们使用的是哪种IP协议。IPv4版本是“4”&#xff0c;IPv6版本是“6”。 头部长度&#xff08;IHL&#xff0c;Intern…...

视频联网平台与AI识别技术在电力行业的创新应用

一、电力行业智能化转型的迫切需求 在能源革命与数字化转型的双重推动下&#xff0c;电力行业正面临着前所未有的智能化升级需求。随着特高压电网的大规模建设和新能源占比的不断提高&#xff0c;传统的电力运维管理模式已经难以满足现代电网安全、高效运行的要求。据统计&…...

Apache Parquet 文件组织结构

简要概述 Apache Parquet 是一个开源、列式存储文件格式&#xff0c;最初由 Twitter 与 Cloudera 联合开发&#xff0c;旨在提供高效的压缩与编码方案以支持大规模复杂数据的快速分析与处理。Parquet 文件采用分离式元数据设计 —— 在数据写入完成后&#xff0c;再追加文件级…...

深度学习方向急出成果,是先广泛调研还是边做实验边优化?

目录 有限资源下本科生快速发表深度学习顶会论文的实战策略 1.短周期内可出成果的研究路径 2.论文阅读与复现的优先顺序 3.无一对一指导时的调研与实验组织 4.成功案例&#xff1a;本科生顶会论文经验 5.快速上手的研究子方向推荐 大家好这里是AIWritePaper官方账号&…...

Python 深度学习实战 第11章 自然语言处理(NLP)实例

Python 深度学习实战 第11章 自然语言处理(NLP)实例 内容概要 第11章深入探讨了自然语言处理&#xff08;NLP&#xff09;的深度学习应用&#xff0c;涵盖了从文本预处理到序列到序列学习的多种技术。本章通过IMDB电影评论情感分类和英西翻译任务&#xff0c;详细介绍了如何使…...

9、Hooks:现代魔法咒语集——React 19 核心Hooks

一、魔法咒语的本质革新 "类组件如同古老的魔杖挥舞仪式&#xff0c;而Hooks是新时代的无杖施法&#xff01;"霍格沃茨魔法研究院的魔杖动力学教授惊叹道。React Hooks通过函数式能量场重构了魔法运作模式&#xff0c;让组件能量流转如尼可勒梅的炼金术。 ——以《国…...

FutureTask底层实现

一、FutureTask的基本使用 平时一些业务需要做并行处理&#xff0c;正常如果你没有返回结果的需求&#xff0c;直接上Runnable。 很多时候咱们是需要开启一个新的线程执行任务后&#xff0c;给我一个返回结果。此时咱们需要使用Callable。 在使用Callable的时候&#xff0c;…...

深入浅出:LDAP 协议全面解析

在网络安全和系统管理的世界中&#xff0c;LDAP&#xff08;轻量级目录访问协议&#xff0c;Lightweight Directory Access Protocol&#xff09;是一个不可忽视的核心技术。它广泛应用于身份管理、认证授权以及目录服务&#xff0c;尤其在企业级环境中占据重要地位。本文将从基…...

学习笔记—C++—string(练习题)

练习题 仅仅反转字母 917. 仅仅反转字母 - 力扣&#xff08;LeetCode&#xff09; 题目 给你一个字符串 s &#xff0c;根据下述规则反转字符串&#xff1a; 所有非英文字母保留在原有位置。所有英文字母&#xff08;小写或大写&#xff09;位置反转。 返回反转后的 s 。…...

论文阅读:2024 arxiv DeepInception: Hypnotize Large Language Model to Be Jailbreaker

总目录 大模型安全相关研究&#xff1a;https://blog.csdn.net/WhiffeYF/article/details/142132328 DeepInception: Hypnotize Large Language Model to Be Jailbreaker DeepInception&#xff1a;催眠大型语言模型&#xff0c;助你成为越狱者 https://arxiv.org/pdf/2311.0…...

OC底层原理【一】 alloc init new

OC底层原理【一】 alloc init && new 文章目录 OC底层原理【一】 alloc init && new前言allocslowpath(checkNil && !cls)) 和 fastpath(!cls->ISA()->hasCustomAWZ())!cls->ISA()->hasCustomAWZ()) obj->initInstanceIsa();将类与isa关…...

集合框架拓展--stream流的使用

Stream&#xff08;JDK8新特性&#xff09; 什么是Stream&#xff1f; 也叫stream流&#xff0c;是JDK8开始新增的一套API&#xff08;java.util.stream.*&#xff09;,可以用于操作集合或数组中的数据 优势&#xff1a;Stream流大量地结合了Lambda的语法风格来编程&#xff…...

Beszel​​ 轻量级服务器监控平台的详细安装步骤

什么是 Beszel Beszel 是一个轻量级的服务器监控平台&#xff0c;包含 Docker 统计信息、历史数据和警报功能。 它拥有友好的 Web 界面、简单的配置&#xff0c;并且开箱即用。它支持自动备份、多用户、OAuth 身份验证和 API 访问 https://beszel.dev/zh/guide/what-is-besz…...

Spring 微服务解决了单体架构的哪些痛点?

1. 部署困难 (Deployment Difficulty & Risk) 单体痛点: 整体部署: 对单体应用的任何微小修改&#xff08;哪怕只是一行代码&#xff09;&#xff0c;都需要重新构建、测试和部署整个庞大的应用程序。部署频率低: 由于部署过程复杂且风险高&#xff0c;发布周期通常很长&a…...

Kotlin delay方法解析

本文记录了kotlin协程(Android)中delay方法的字节码实现&#xff0c;并解析了delay方法如何实现挂起操作。 一、delay方法介绍 1.1、delay方法使用举例 class TestDelay {suspend fun testDelay() {Log.d("TestDelay", "before delay")delay(1000)Log.d…...

C# 类型、存储和变量(用户定义类型)

本章内容 C#程序是一组类型声明 类型是一种模板 实例化类型 数据成员和函数成员 预定义类型 用户定义类型 栈和堆 值类型和引用类型 变量 静态类型和dynamic关键字 可空类型 用户定义类型 除了C#提供的16种预定义类型&#xff0c;还可以创建自己的用户定义类型。有6种类型可以…...

C语言之高校学生信息快速查询系统的实现

&#x1f31f; 嗨&#xff0c;我是LucianaiB&#xff01; &#x1f30d; 总有人间一两风&#xff0c;填我十万八千梦。 &#x1f680; 路漫漫其修远兮&#xff0c;吾将上下而求索。 C语言之高校学生信息快速查询系统的实现 目录 任务陈述与分析 问题陈述问题分析 数据结构设…...

Windows串口通信

Windows串口通信相比较Android串口通信,在开发上面相对方便一些。原理都是一样,需要仔细阅读厂商设备的串口通信协议。结合串口调试助手进行测试,测试通过后,编写代码实现。 比如近期就接触到了一款天平,其最大测量值为100g,测量精度0.001g。 拿到手之后我就先阅读串口通…...

从零开始用Pytorch实现LLaMA 4的混合专家(MoE)模型

近期发布的LLaMA 4模型引入了混合专家&#xff08;Mixture of Experts, MoE&#xff09;架构&#xff0c;旨在提升模型效率和性能。尽管社区对LLaMA 4的实际表现存在一些讨论&#xff0c;但MoE作为一种重要的模型设计范式&#xff0c;继Mistral等模型之后再次受到关注。 所以我…...

python3GUI--仿网课答题播放器 By:PyQt5(分享)

文章目录 一&#xff0e;前言二&#xff0e;相关知识1.PyQt52.QMediaPlayer3.QThread4.Sqlite3 二&#xff0e;展示1.主界面2.课程播放&问答3.字幕调整4.播放列表折叠5.添加课程 三&#xff0e;心得与分享1.数据本地化2.自定义组件3.系统流程图与代码量4.免责声明 四&#…...

Python基础总结(八)之循环语句

文章目录 一、for循环1.1 for循环格式1.2 for ...else1.3 for...break1.4 for...continue 二、while循环2.1 while循环格式2.2 while...break2.3 while...continue2.4 while ...else 循环语句就如其名&#xff0c;就是重复的执行一段代码&#xff0c;直到满足退出条件时&#x…...

21. git apply

基本概述 git apply 的作用是&#xff1a;应用补丁文件 基本用法 1.命令格式 git apply [选项] <补丁文件>2.应用补丁 git apply patchfile.patch将补丁应用到工作目录&#xff0c;但不会自动添加到暂存区&#xff08;需手动 git add&#xff09; 常用选项 1.检查…...

第一章:MySQL视图基础

1. 视图是什么&#xff1f; ​​定义​​&#xff1a;视图&#xff08;View&#xff09;是一种虚拟表&#xff0c;其内容基于一个或多个真实表&#xff08;基表&#xff09;的查询结果。视图不实际存储数据&#xff0c;而是通过查询动态生成数据。​​核心特点​​&#xff1a…...

深入理解基线检查:网络安全的基石

深入理解基线检查&#xff1a;网络安全的基石 一、引言 在信息技术飞速发展的今天&#xff0c;网络安全已成为企业和组织正常运营的关键保障。从日常办公系统到关键业务应用&#xff0c;任何环节的安全漏洞都可能导致严重的后果&#xff0c;如数据泄露、系统瘫痪等。基线检查作…...

33-公交车司机管理系统

技术&#xff1a; 基于 B/S 架构 SpringBootMySQLvueelementui 环境&#xff1a; Idea mysql maven jdk1.8 node 用户端功能 1.首页:展示车辆信息及车辆位置和线路信息 2.模块:车辆信息及车辆位置和线路信息 3.公告、论坛 4.在线留言 5.个人中心:修改个人信息 司机端功能…...

【AI实践】使用DeepSeek+CherryStudio绘制Mermaid格式图表

目录 工具准备创建DeepSeek API Key安装CherryStudioMermaid在线编辑器 绘制图表编写提示词在CherryStudio中调用DeepSeek复制源码到Mermaid编辑器中进行微调 图表示例流程图思维导图甘特图 工具准备 创建DeepSeek API Key 打开DeepSeek开放平台&#xff0c; 注册并充值成功后…...

TCP报文段解析:从抽象到具象的趣味学习框架

TCP报文段解析&#xff1a;从抽象到具象的趣味学习框架 一、What&#xff1a;TCP报文段长什么样&#xff1f; 核心结构&#xff08;类比快递包裹&#xff09;&#xff1a; 复制 下载 | 源端口&#xff08;16位&#xff09;| 目的端口&#xff08;16位&#xff09;| |-----…...

B+树节点与插入操作

B树节点与插入操作 设计B树节点 在设计B树的数据结构时&#xff0c;我们首先需要定义节点的格式&#xff0c;这将帮助我们理解如何进行插入、删除以及分裂和合并操作。以下是对B树节点设计的详细说明。 节点格式概述 所有的B树节点大小相同&#xff0c;这是为了后续使用自由…...

rollup使用讲解

rollup 总结 什么是 rollup? rollup 是一个 JavaScript 模块打包器,在功能上要完成的事和 webpack 性质一样,就是将小块代码编译成大块复杂的代码,例如 library 或应用程序。在平时开发应用程序时,我们基本上选择用 webpack,相比之下,rollup.js 更多是用于 library 打…...

高边开关和低边开关的区别

高边驱动和低边驱动的区别 在高边驱动和低边驱动中&#xff0c;开关的位置直接影响电路在负载短路时的安全性和电流路径。以下是关键原理的分步解释&#xff1a; 1. 高低边驱动的结构对比 高边驱动&#xff08;High-Side Drive&#xff09; 电路结构&#xff1a; 电源正极 →…...

PG psql --single-transaction 参数功能

文章目录 PG psql --single-transaction 参数功能 PG psql --single-transaction 参数功能 test.sql 文件 create table test1(id int); CREATE OR REPLACE FUNCTION func_test() RETURNS INTEGER AS $BODY$ BEGINxxxreturn 0; END; $BODY$ LANGUAGE plpgsql VOLATILE CALLE…...

C++ 多态

1.多态的概念 多态&#xff08;polymorphism&#xff09;通俗来说就是多种形态。多态分为编译时多态&#xff08;静态多态&#xff09;和运行时多态&#xff08;动态多态&#xff09;&#xff0c;这里我们重点是运行时多态&#xff0c;编译时多态主要就是我们前面的函数重载和…...

【matlab|python】矢量棍棒图应用场景和代码

【matlab|python】矢量棍棒图应用场景和代码 矢量棍棒图的介绍和作用 矢量棍棒图&#xff08;stick plot&#xff09;是一种用于可视化 方向性时间序列数据 的图形工具。它常用于大气科学和海洋科学中&#xff0c;以直观地展示 风场、海流 或 其他矢量变量 随时间的变化情况。 …...

Matlab 五相电机仿真

1、内容简介 Matlab 208-五相电机仿真 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...

计算机视觉cv2入门之视频处理

在我们进行计算机视觉任务时&#xff0c;经常会对视频中的图像进行操作&#xff0c;这里我来给大家分享一下&#xff0c;如何cv2中视频文件的操作方法。这里我们主要介绍cv2.VideoCapture函数的基本使用方法。 cv2.VideoCapture函数...

力扣每日一题781题解-算法:贪心,数学公式 - 数据结构:哈希

https://leetcode.cn/problems/rabbits-in-forest/description/?envTypedaily-question&envId2025-04-20 781.推测兔子数 算法&#xff1a;贪心&#xff0c;数学公式 数据结构&#xff1a;哈希 用哈希存每个兔子报告的同色数量&#xff0c;作为key&#xff0c;同个key…...