partition_pdf 和chunk_by_title 的区别
from unstructured.partition.pdf import partition_pdf
from unstructured.chunking.title import chunk_by_title
partition_pdf
和 chunk_by_title
初看有点像,都在"分块",但是它们的本质完全不一样。
先看它们核心区别
partition_pdf | chunk_by_title | |
---|---|---|
是什么? | 把PDF文件里的东西分成"小单元"(比如标题、正文、表格、图片) | 把已经分好的小单元,按照"标题"去组合成完整段落或章节 |
输入是? | PDF 文件本身 | partition_pdf 处理后的小单元列表 |
输出是? | 小块小块的元素(title, text, table, image…),但每块可能很碎 | 章节级别的大块,一章一章连在一起 |
什么时候用? | 一开始拿到 PDF 时,想"拆开原始内容" | 后处理,用来按"标题"智能组织文本 |
举例 | 像拿一张纸撕成小碎片 | 把碎片按章节重新组装成故事书 |
更直白的类比(重点)
假设我们有一份 PDF :
第一页:大标题:机器学习入门内容:机器学习是...第二页:小标题:监督学习内容:监督学习是...第三页:小标题:无监督学习内容:无监督学习是...
partition_pdf
做的事情是:
- 机器地扫描这份 PDF,把它切成最小的独立单元:
- 一个标题是一个单元
- 一个段落是一个单元
- 一个表格是一个单元
- 一个图片是一个单元
- 它分得非常细!
- 得到的列表元素长得像:
[标题:机器学习入门]
[段落:机器学习是...]
[标题:监督学习]
[段落:监督学习是...]
[标题:无监督学习]
[段落:无监督学习是...]
注意:这里标题和正文是分开的,互相不连着!
chunk_by_title
做的事情是:
- 拿到上面这些小碎片后,按照标题出现的位置去智能组合,形成一个个逻辑完整的块。
- 比如遇到一个标题,就开始收集下面的段落,一直到下一个标题。
- 最后变成:
【第1块】机器学习入门机器学习是...
【第2块】监督学习监督学习是...
【第3块】无监督学习无监督学习是...
感觉很像一章一章的组织成册
总结成一句大白话
partition_pdf
是打碎 PDF 的锤子,
chunk_by_title
是按标题把碎片重新拼起来的胶水。
它俩是一个在"碎",一个在"组合",是配合使用的。
再用代码流程举例
from unstructured.partition.pdf import partition_pdf
from unstructured.chunking.title import chunk_by_title# 先拿到碎片(小元素)
elements = partition_pdf(filename="example.pdf")
# elements 是列表,每一项是一个小块(标题/段落/表格/图片等),彼此独立# 然后按标题组合
chunks = chunk_by_title(elements)
# chunks 是列表,每一项是按标题组织好的完整小节
直观对比一下数据结构
用 partition_pdf
后:
[Element(type="Title", text="机器学习入门"),Element(type="NarrativeText", text="机器学习是..."),Element(type="Title", text="监督学习"),Element(type="NarrativeText", text="监督学习是..."),Element(type="Title", text="无监督学习"),Element(type="NarrativeText", text="无监督学习是..."),
]
每个Element是小碎块,标题和正文是分开的。
用 chunk_by_title
后:
[Chunk(text="机器学习入门\n机器学习是..."),Chunk(text="监督学习\n监督学习是..."),Chunk(text="无监督学习\n无监督学习是..."),
]
每个Chunk是完整的一章章的内容了(标题和正文合在一起)。
为什么要这样设计?
- PDF 文件的格式五花八门,直接提取文本经常乱七八糟。
- 先 partition(打碎)是为了最大限度识别结构。
- 再 chunk(组装)是为了适配各种应用,比如做摘要、问答、索引库。
👉 否则你直接全文提取,一大坨,分不清哪里是标题哪里是正文,后续很难做高质量处理。
小结核心思想
阶段 | 目的 | 结果 |
---|---|---|
partition_pdf | 最大限度地细致识别 PDF 结构 | 生成"元素列表" |
chunk_by_title | 根据标题组织结构,便于后续处理 | 生成"章节列表" |
💪 一个超直观的小演示!
场景设定(假设有一个简单的 PDF)
PDF 内容:
第1页:【大标题】人工智能入门【正文】人工智能是计算机科学的一个分支...第2页:【小标题】机器学习【正文】机器学习是人工智能的重要子领域...第3页:【小标题】深度学习【正文】深度学习是机器学习中的一种方法...
第一步 —— partition_pdf
处理后的结果(碎片元素)
用 partition_pdf(filename="xxx.pdf")
得到的 elements
可能是这样:
elements = [Element(type="Title", text="人工智能入门"),Element(type="NarrativeText", text="人工智能是计算机科学的一个分支..."),Element(type="Title", text="机器学习"),Element(type="NarrativeText", text="机器学习是人工智能的重要子领域..."),Element(type="Title", text="深度学习"),Element(type="NarrativeText", text="深度学习是机器学习中的一种方法..."),
]
特点:
- 一个标题是一个元素
- 一个正文是一个元素
- 彼此是分开的
- 没有合并
第二步 —— chunk_by_title
把碎片重新组织
调用 chunk_by_title(elements)
后,得到的 chunks
是:
chunks = [Chunk(text="人工智能入门\n人工智能是计算机科学的一个分支..."),Chunk(text="机器学习\n机器学习是人工智能的重要子领域..."),Chunk(text="深度学习\n深度学习是机器学习中的一种方法..."),
]
特点:
- 一个 Chunk 里包含:
- 当前的标题
- 下面关联的正文
- 自动组合在一起了
- 更像一章一章的内容块了
过程动图类比(文字版)
[Title: 人工智能入门] ——→ 开始新块
[NarrativeText: 人工智能是...] ——→ 加到当前块[Title: 机器学习] ——→ 发现新标题!开始新块
[NarrativeText: 机器学习是...] ——→ 加到当前块[Title: 深度学习] ——→ 发现新标题!开始新块
[NarrativeText: 深度学习是...] ——→ 加到当前块
每遇到一个新的标题,就切断当前块,开启一个新的块。
对比一下结构变化(最直观表格版)
阶段 | 内容结构 |
---|---|
partition_pdf 后 | 一堆小碎片:标题、正文互相独立 |
chunk_by_title 后 | 每个标题带上对应正文,形成逻辑完整的小节 |
用代码跑一下:
from unstructured.partition.pdf import partition_pdf
from unstructured.chunking.title import chunk_by_title# 模拟 partition_pdf 出来的元素(实际是 Element 对象列表)
elements = [{"type": "Title", "text": "人工智能入门"},{"type": "NarrativeText", "text": "人工智能是计算机科学的一个分支..."},{"type": "Title", "text": "机器学习"},{"type": "NarrativeText", "text": "机器学习是人工智能的重要子领域..."},{"type": "Title", "text": "深度学习"},{"type": "NarrativeText", "text": "深度学习是机器学习中的一种方法..."},
]# 自己模拟 chunk_by_title 逻辑
chunks = []
current_chunk = Nonefor element in elements:if element["type"] == "Title":if current_chunk:chunks.append(current_chunk)current_chunk = element["text"] + "\n"else: # 不是标题,就是正文if current_chunk is not None:current_chunk += element["text"] + "\n"# 别忘了把最后一块也加进去
if current_chunk:chunks.append(current_chunk)# 打印结果
for i, chunk in enumerate(chunks, 1):print(f"第 {i} 块内容:\n{chunk}")
输出结果就是一章一章组织好的内容了!✅
终极总结:
partition_pdf 是把 PDF 精确切成最细单元,chunk_by_title 是让这些单元恢复成有逻辑的大块。
它们是前后搭配使用的,缺一不可。
相关文章:
partition_pdf 和chunk_by_title 的区别
from unstructured.partition.pdf import partition_pdf from unstructured.chunking.title import chunk_by_titlepartition_pdf 和 chunk_by_title 初看有点像,都在"分块",但是它们的本质完全不一样。 先看它们核心区别 partition_pdfchun…...
JAVA-使用Apache POI导出数据到Excel,并把每条数据的图片打包成zip附件项
最近项目要实现一个功能,就是在导出报表的时候 ,要把每条数据的所有图片都要打包成zip附件在excel里一起导出。 1. 添加依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>…...
前端——CSS1
一,概述 CSS(Cascading Style Sheets)(级联样式表) css是一种样式表语言,为html标签修饰定义外观,分工不同 涉及:对网页的文字、背景、宽、高、布局进行修饰 分为内嵌样式表&…...
《AI大模型应知应会100篇》【精华】第40篇:长文本处理技巧:克服大模型的上下文长度限制
[精华]第40篇:长文本处理技巧:克服大模型的上下文长度限制 摘要 在大语言模型应用中处理超出其上下文窗口长度的长文本是一项挑战。本文面向初学者介绍长文本处理的常见难题,以及一系列有效策略和技巧,包括如何对文档进行合理分…...
开源模型应用落地-qwen模型小试-Qwen3-8B-快速体验(一)
一、前言 阿里云最新推出的 Qwen3-8B 大语言模型,作为国内首个集成“快思考”与“慢思考”能力的混合推理模型,凭借其 80 亿参数规模及 128K 超长上下文支持,正在重塑 AI 应用边界。该模型既可通过轻量化“快思考”实现低算力秒级响应,也能在复杂任务中激活深度推理模式,以…...
千问3(Qwen3)模型开源以及初体验
体验地址:百炼控制台 1 千问3模型:全球最强开源大模型震撼发布 2025年4月29日,阿里巴巴正式开源了新一代通义千问模型Qwen3(简称千问3),这一里程碑式的事件标志着中国开源大模型首次登顶全球性能榜首。千问…...
对 FormCalc 语言支持较好的 PDF 编辑软件综述
FormCalc是一种专为PDF表单计算设计的脚本语言,主要应用于Adobe生态及SAP相关工具。以下是对FormCalc支持较好的主流软件及其特点: 1. Adobe LiveCycle Designer 作为FormCalc的原生开发环境,LiveCycle Designer提供最佳支持: …...
20250429-李彦宏口中的MCP:AI时代的“万能接口“
目录 一、什么是MCP? 二、为什么需要MCP? 三、MCP的工作原理 3.1 核心架构 3.2 工作流程 四、MCP的应用场景 4.1 开发者工具集成 4.2 智能助手增强 4.3 企业应用集成 4.4 典型案例 五、MCP的技术特点 5.1 标准化接口 5.2 可扩展性设计 5.…...
汽车启动原理是什么?
好的!同学们,今天我们来讨论汽车的启动原理,重点分析其中的动力来源和摩擦力作用。我会结合物理概念,用尽量直观的方式讲解。 1. 汽车为什么会动?——动力的来源 汽车发动机(内燃机或电动机)工…...
LeetCode[347]前K个高频元素
思路: 使用小顶堆,最小的元素都出去了,省的就是大,高频的元素了,所以要维护一个小顶堆,使用map存元素高频变化,map存堆里,然后输出堆的东西就行了 代码: class Solution…...
《软件测试52讲》学习笔记:如何设计一个“好的“测试用例?
引言 在软件测试领域,设计高质量的测试用例是保证软件质量的关键。本文基于茹炳晟老师在《软件测试52讲》中关于测试用例设计的讲解,结合个人学习心得,系统总结如何设计一个"好的"测试用例。 一、什么是"好的"测试用例…...
【深度学习新浪潮】ISP芯片算法技术简介及关键技术分析
ISP芯片及其功能概述 ISP(Image Signal Processor)芯片作为现代影像系统的核心组件,负责对图像传感器输出的原始信号进行后期处理。ISP的主要功能包括线性纠正、噪声去除、坏点修复、色彩校正以及白平衡调整等,这些处理步骤对于提高图像质量和视觉效果至关重要。随着科技的…...
QtCreator Kits构建套件报错(红色、黄色感叹号)
鼠标移动上去,查看具体报错提示。 一.VS2022Qt5.14.2(MSVC2017) 环境VS2022Qt5.14.2(MSVC2017) 错误:Compilers produce code for different ABIs:x86-windows-msvc2005-pe-64bit,x86-windows-msvc2005-pe-32bit 错误࿱…...
天能资管(SkyAi):全球布局,领航资管新纪元
在全球化浪潮汹涌澎湃的今天,资管行业的竞争已不再是单一市场或区域的较量,而是跨越国界、融合全球资源的全面竞争。天能资管(SkyAi),作为卡塔尔投资局(Qatar Investment Authority,QIA)旗下的尖端科技品牌,正以其独特的全球视野和深远的战略眼光,积极布局资管赛道,力求在全球资…...
基于PHP的宠物用品商城
有需要请加文章底部Q哦 可远程调试 基于PHP的宠物用品商城 一 介绍 宠物用品商城系统基于原生PHP开发,数据库mysql,前端bootstrap,jquery.js等。系统角色分为用户和管理员。(附带参考文档) 技术栈:phpmysqlbootstrapphpstudyvsc…...
桂链:使用Fabric的测试网络
桂链是基于Hyperledger Fabric开源区块链框架扩展开发的区块链存证平台,是桂云网络(OSG)公司旗下企业供应链、流程审批等场景数字存证软件产品,与桂花流程引擎(Osmanthus)并列为桂云网络旗下的标准与可定制…...
k8s术语master,node,namepace,LABLE
1.Master Kubernetes中的master指的是集群控制节点,每个kubernetes集群里都需要有一个Master节点来负责整个集群的管理和控制,基本上kubernetes的所有控制命令都发给它,它来负责具体的执行过程。Master节点通常会占据一个独立的服务器(高可用建议3台服务器)。 Master节点…...
香港科技大学广州|智能制造学域硕、博研究生招生可持续能源与环境学域博士招生宣讲会—四川大学专场!
香港科技大学广州|智能制造学域硕、博研究生招生&可持续能源与环境学域博士招生宣讲会—四川大学专场!!! 两个学域代表教授亲临现场,面对面答疑解惑助攻申请!可带简历现场咨询和面试! &am…...
【Vue】 实现TodoList案例(待办事项)
目录 组件化编码流程(通用) 1.实现静态组件:抽取组件,使用组件实现静态页面效果 2.展示动态数据: 1. 常规 HTML 属性 3.交互——从绑定事件监听开始 什么时候要用 event: 什么时候不需要用 event&am…...
Ubuntu 20.04 安装 ROS 2 Foxy Fitzroy
目录 1,安装前须知 2,安装过程 2.1,设置语言环境 2.2,设置源 2.3,安装ROS 2软件包 2.4,环境设置 2.5,测试 2.6,不想每次执行source 检验是否成功(另…...
【Unity】使用LitJson保存和读取数据的例子
LitJson 是一个轻量级的 JSON 解析和生成库,广泛应用于 .NET 环境中。 优点:轻量级,易用,性能优秀,支持LINQ和自定义对象的序列化和反序列化。 public class LitJsonTest : MonoBehaviour { // Start is called before…...
飞蛾扑火算法优化+Transformer四模型回归打包(内含MFO-Transformer-LSTM及单独模型)
飞蛾扑火算法优化Transformer四模型回归打包(内含MFO-Transformer-LSTM及单独模型) 目录 飞蛾扑火算法优化Transformer四模型回归打包(内含MFO-Transformer-LSTM及单独模型)预测效果基本介绍程序设计参考资料 预测效果 基本介绍 …...
物联网平台厂商有哪些?2025物联网平台推荐?国内有哪些比较好的物联网平台?
评选维度: 技术实力:涵盖设备接入规模、数据处理效率、AI/边缘计算融合能力、协议兼容性及平台架构先进。 应用场景:包括垂直领域解决方案的成熟度、定制化能力、跨行业复用性及实际落地案例规模。 安全可靠:涉及数据传输加密、…...
瑞幸咖啡披露2025年Q1财报:门店净增1757家,营业利润率达8.3%
4月29日,瑞幸咖啡(OTC:LKNCY)公布2025年第一季度财报。数据显示,2025年第一季度总净收入88.65亿元人民币,同比增长41.2%,GMV达103.54亿元人民币。截止一季度末,门店总数达24097家。依…...
selenium IDE脚本如何转换为可运行的selenium webdriver java程序
上一篇博客(用selenium4 webdriver java 搭建并完成第一个自动化测试脚本-CSDN博客)介绍了如何创建一个selenium webdriver 的java工程。 之前博客(带你用selenium IDE的录制第一个自动化测试脚本也介绍了如何使用selenum ide …...
GA-Transformer遗传算法优化编码器多特征分类预测/故障诊断,作者:机器学习之心
GA-Transformer遗传算法优化编码器多特征分类预测/故障诊断 目录 GA-Transformer遗传算法优化编码器多特征分类预测/故障诊断效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现GA-Transformer遗传算法优化编码器多特征分类预测/故障诊断,运行环境M…...
LeetCode热题100--53.最大子数组和--中等
1. 题目 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分。 示例 1: 输入:nums [-2,1,-3,4,-1,2,1,-5,4] 输出&…...
【计算机视觉】深度解析MediaPipe:谷歌跨平台多媒体机器学习框架实战指南
深度解析MediaPipe:谷歌跨平台多媒体机器学习框架实战指南 技术架构与设计哲学核心设计理念系统架构概览 核心功能与预构建解决方案1. 人脸检测2. 手势识别3. 姿势估计4. 物体检测与跟踪 实战部署指南环境配置基础环境准备获取源码 构建第一个示例(手部追…...
血管造影正常≠心脏没事!无创技术破解心肌缺血漏诊困局
提到冠心病检查,很多人会纠结:到底哪项检查能更全面地反映病情、精准得出结论? 从准确性来说,冠脉 CT 与冠脉造影是临床常用手段。二者虽然能够清晰显示血管大冠脉是否存在狭窄或斑块,但二者本质上有相同的 “局限性”…...
ClickHouse副本集群
每个节点安装clickhouse服务安装 zookeeper每个节点修改 /etc/clickhouse-server/config.xml 863行左右 <remote_servers><default><shard><replica><host>18.1.13.30</host><port>9000</port></replica><replica&g…...
Go 语言中的 `os.Truncate` 函数详解
os.Truncate 是 Go 标准库中用于修改文件大小的函数。下面我将全面解析这个函数的功能、用法和注意事项。 函数签名 func Truncate(name string, size int64) error核心功能 os.Truncate 用于: 将指定文件截断或扩展到指定大小处理符号链接时会操作链接指向的实…...
java 加入本地lib jar处理方案
在 Java 项目中,如果想将本地的 .jar 文件加入到 Maven 构建流程中,有以下几种常见方式可以选择: ✅ 推荐方式:将本地 JAR 安装到本地 Maven 仓库 这是最佳实践。通过 mvn install:install-file 命令把JAR 包安装到本地仓库&…...
【Git】之【Get】TortoiseGit不显示状态图标
参考:Windows中解决TortoiseGit 不显示状态图标的问题 实测可行。 打开注册表 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers路径 确保TortoiseGit文件夹在前几个,可以重命名将其他无关…...
[Linux网络_68] 转发 | 路由(Hop by Hop) | IP的分片和组装
目录 1.再谈网络转发 2.路由 举个例子 3.分片和组装 IP 层 [Linux#67][IP] 报头详解 | 网络划分 | CIDR无类别 | DHCP动态分配 | NAT转发 | 路由器 1.再谈网络转发 我们在上一篇文章中知道了路由器的功能有: 转发DHCP | 组建局域网NAT 组建局域网功能表现&…...
Sce2DriveX: 用于场景-到-驾驶学习的通用 MLLM 框架——论文阅读
《Sce2DriveX: A Generalized MLLM Framework for Scene-to-Drive Learning》2025年2月发表,来自中科院软件所和中科院大学的论文。 端到端自动驾驶直接将原始传感器输入映射到低级车辆控制,是Embodied AI的重要组成部分。尽管在将多模态大语言模型&…...
论文笔记-多智能体任务分配:动态智能空间中的拍卖与抢占机制
《IET Cyber-Systems and Robotics》出版中国电信研究院 Wei Li、Zhenhua Liu 团队与山东大学 Jianhang Shang 和 Guoliang Liu 团队的研究成果,文章题为“Multiagent Task Allocation for Dynamic Intelligent Space: Auction and Preemption With Ontology Knowle…...
数据库day-08
一、实验名称和性质 删除修改数据 验证 设计 二、实验目的 1.掌握数据操作-- 删除、修改; 三、实验的软硬件环境要求 硬件环境要求: PC机(单机) 使用的软件名称、版本号以及模块: Windows 10&#x…...
.NET 平台详解
什么是 .NET? .NET 是一个由微软开发的跨平台、开源的开发者平台,用于构建多种类型的应用程序。它提供了一致的编程模型和丰富的类库,支持多种编程语言(如 C#、F#、Visual Basic)。 .NET 的核心组成 运行时环境 CLR …...
高效 Transformer 的综述
20年9月来自谷歌研究的论文“Efficient Transformers: A Survey”。 文章主要针对一类X-former模型,例如Reformer, Linformer, Performer, Longformer为例,这些对原版Transformer做了改进,提高了其计算和内存的效率。 self-attention是Tran…...
java每日精进 4.29【框架之自动记录日志并插入如数据库流程分析】
1.日志记录注解(LogRecord) Repeatable(LogRecords.class) Target({ElementType.METHOD, ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Inherited Documented public interface LogRecord {String success();String fail() default "&q…...
HarmonyOS NEXT 诗词元服务项目开发上架全流程实战(二、元服务与应用APP签名打包步骤详解)
在HarmonyOS应用开发过程中,发布应用到应用市场是一个重要的环节。没经历过的童鞋,首次对HarmonyOS的应用签名打包上架可能感觉繁琐。需要各种秘钥证书生成和申请,混在一起分不清。其实搞清楚后也就那会事,各个文件都有它存在的作…...
java的多线程
文章目录 创建线程什么是线程?什么是多线程?如何在程序中创建出多条线程?方式一:继承Thread类方式二:实现Runnable接口方式三:实现Callable接口 三种创建方式的对比 线程的常用方法Thread提供的常用方法Thr…...
CSS--图片链接水平居中展示的方法
原文网址:CSS--图片链接居中展示的方法-CSDN博客 简介 本文介绍CSS图片链接水平居中展示的方法。 图片链接 问题复现 源码 <html xml:lang"cn" lang"cn"><head><meta http-equiv"Content-Type" content"te…...
【计算机视觉】目标检测:深度解析YOLOv5:下一代实时目标检测框架实战指南
深度解析YOLOv5:下一代实时目标检测框架实战指南 技术演进与架构设计YOLO系列发展脉络YOLOv5核心架构1. 骨干网络(Backbone)2. 特征融合(Neck)3. 检测头(Head) 环境配置与快速开始硬件要求建议详…...
CentOS NFS共享目录
最近遇到一个问题,一台CentOS7应用服务器上的服务需要访问另外一台CentOS7应用服务器上的文件,然后传输文件给第三方。想到windows系统之间有文件共享的功能,Linux系统之间是否也有类似的文件共享功能呢? NFS NFS代表Network Fil…...
「国产嵌入式仿真平台:高精度虚实融合如何终结Proteus时代?」——从教学实验到低空经济,揭秘新一代AI赋能的产业级教学工具
引言:从Proteus到国产平台的范式革新 在高校嵌入式实验教学中,仿真工具的选择直接影响学生的工程能力培养与创新思维发展。长期以来,Proteus作为经典工具占据主导地位,但其设计理念已难以满足现代复杂系统教学与国产化技术需求。…...
[随笔] 升级uniapp旧项目的vue、pinia、vite、dcloudio依赖包等
汇总 # 升级uniapp项目dcloudio整体依赖,建议执行多次 # 会顺带自动更新/升级vue的版本 npx dcloudio/uvmlatest alpha# 检查 pinia 的最新版本 npm view pinia version# 更新项目 pinia 到最新版本 npm update pinia# 更新项目 pinia 到特定的版本 # 首先…...
C++学习:六个月从基础到就业——异常处理:机制与最佳实践
C学习:六个月从基础到就业——异常处理:机制与最佳实践 本文是我C学习之旅系列的第三十八篇技术文章,也是第二阶段"C进阶特性"的最后一篇,主要介绍C中的异常处理机制及其最佳实践。查看完整系列目录了解更多内容。 引言…...
【MongoDB篇】MongoDB的数据库操作!
目录 引言第一节:数据库的“诞生”——如何创建数据库?🤔第二节:数据库的“查阅”——看看我的数据库们!🕵️♀️第三节:数据库的“切换”——我在哪个房间干活?➡️🚪…...
react-新建项目复用node_modules
每次新建定制时,前端都需要npm i来安装依赖,耗时长 失败多。 可以把这个bat文件放到新建分支的前端目录下,修改后双击bat文件运行,如果不需要添加修改依赖,无需运行npm i node_modules.bat里面的内容如下:…...