自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

原创 大文件上传代码示例(原生前端三剑客 + Express.js后端)

本文介绍了前端实现大文件分片上传的核心流程和技术要点。分片上传能解决大文件上传的超时、断点续传、并发提速和内存占用问题。关键步骤包括:1) 使用Blob.slice切割文件;2) 用spark-md5计算文件唯一哈希;3) 上传前校验已传分片;4) 并发上传分片并携带索引信息;5) 请求后端合并文件;6) 实时展示进度。文章提供了完整的Express后端实现代码(含分片校验、上传和合并接口)和前端HTML示例(含文件哈希计算和分片上传逻辑),其中前端采用2MB分片大小,通过axios实现并发控制,并支持上传

2026-06-04 16:42:07 196

原创 IntersectionObserver 详解:封装 Vue 指令实现图片懒加载

本文介绍了如何使用IntersectionObserver API实现图片懒加载功能。首先对比了传统scroll监听与IntersectionObserver的性能差异,后者只在元素交叉状态变化时触发,性能更优。然后详细讲解了IntersectionObserver的基本语法、回调参数和配置选项。重点展示了如何封装Vue指令实现图片懒加载,包括核心思路、指令封装代码、注册方法及组件使用示例。文章还提供了增强版指令,支持自定义占位图、错误处理等更多配置选项,通过异步监听元素可见性来优化图片加载性能。

2026-05-20 14:06:11 217

原创 Vue3 + ECharts 企业级封装实践:按需引入 + useECharts Hooks

本文介绍了一套在Vue 3项目中优化使用ECharts的完整方案。通过按需引入图表组件减少打包体积,封装统一的echarts实例导出模块确保类型安全,并开发了useECharts组合式函数自动处理图表生命周期管理。该方案实现了DOM挂载、配置响应式更新、窗口/元素尺寸自适应以及自动销毁等功能,提供了完整的类型支持。文中详细展示了三个核心文件的实现代码:按需注册的echarts实例封装、类型定义文件以及核心Hook实现,最后给出了基础使用示例。这套方案可直接落地应用,显著提升ECharts在Vue项目中的开发

2026-05-16 20:31:21 207 1

原创 Vue2 vs Vue3 父子组件通信:纯代码示例

本文提供了Vue2和Vue3中父子组件通信的纯代码示例对比。Vue2使用props/$emit实现父子通信,Vue3则采用defineProps/defineEmits语法。文章包含可直接运行的.vue文件代码片段,展示了父传子和子传父两种场景的实现方式,并附有快速对比表。内容简洁实用,适合开发者快速查阅和复制使用。

2026-05-16 20:16:08 32

原创 前端埋点从入门到企业实践:手写一个Demo + 主流方案对比

前端埋点是数据采集的关键技术,通过在代码中植入数据采集逻辑,记录用户行为(如点击、页面访问等),解决产品功能评估、用户流失分析、运营效果追踪等问题。埋点分为三类:代码埋点(精准但开发成本高)、可视化埋点(灵活无需发版)、无埋点(全量采集但数据量大)。文章通过手写Demo演示基础埋点(手动上报)和封装SDK(批量上报),并对比大厂与中小企业的埋点落地策略,强调混合使用多种埋点方式以实现精准与效率平衡。

2026-05-16 20:09:08 422

原创 从SKU到SDK:10分钟理清互联网领域最易混淆的9个术语

互联网行业术语扫盲:9个高频缩写解析 本文整理了互联网公司常用的9个专业术语,涵盖电商、技术和数据分析领域。电商类包括SKU(具体商品编码)和SPU(商品家族);技术开发类涉及SDK(开发工具包)和API(通信接口);数据分析类包含UV(独立访客)、PV(浏览量)和DAU/MAU(活跃用户);通用管理类则介绍UI(用户界面)和KPI(绩效指标)。文章通过实例说明每个术语的含义和应用场景,并附对比表格帮助理解。掌握这些术语有助于跨部门高效沟通,建议收藏备用。

2026-05-16 20:04:49 388

原创 JavaScript 字符串与数组核心方法详解

本文介绍了JavaScript中四个核心方法的使用场景和技巧: Array.some():用于检测数组中是否存在满足条件的元素,在代码扫描工具中可用于多模式匹配检测。 RegExp.test():快速验证字符串是否匹配正则表达式,适合表单验证和文本分析场景。 String.match():提取字符串中匹配正则的内容,可获取捕获组信息,适用于模板解析等场景。 String.includes():简单检查字符串是否包含子串,适合基础包含性判断。 这些方法各具特色:some()关注存在性,test()侧重验证,m

2026-03-23 14:54:33 344

原创 前端SSE(Server-Sent Events)实现详解:从原理到前端AI对话应用

SSE(Server-Sent Events)是一种服务器向客户端单向推送数据的技术,适用于实时通信场景。其特点包括基于HTTP协议、自动重连、轻量级实现等。实现方式分为两种:使用原生EventSource API(仅支持GET请求)或fetch+ReadableStream(支持POST请求)。后端通过设置text/event-stream响应头并持续发送数据块,前端则需正确处理SSE格式数据、流式读取和解码。相比WebSocket,SSE实现更简单但仅支持单向通信。关键技术点包括数据格式处理、流式读取、

2026-03-22 20:17:28 1025 2

原创 深入理解 ES6 Map 数据结构:从理论到实战应用

摘要: Map是ES6引入的键值对集合,相比Object具有更灵活的特性:支持任意类型键、保持插入顺序、内置遍历方法和动态大小。基本操作包括set()、get()、has()和delete()。与Object相比,Map在频繁增删、有序遍历时表现更优,但不支持JSON序列化。实际应用包括请求去重、缓存管理和状态管理,其高效查找(O(1))和键类型灵活性是核心优势。最佳实践建议在复杂键、频繁增删场景使用Map,而简单键值存储仍可用Object。注意及时清理无用数据以优化性能。

2026-03-08 20:35:33 433

原创 企业级 Axios 配置实战:从基础到完整封装

本文详细介绍了企业级Axios封装方案,涵盖核心功能实现:1)基于环境变量创建多实例;2)请求拦截器实现Token注入、重复请求取消和全局Loading管理;3)响应拦截器处理业务状态码、HTTP错误和401跳转;4)集成axios-retry实现自动重试机制;5)开发环境日志记录。通过AbortController替代传统CancelToken,采用计数器控制Loading显示,并提供了完整的错误处理链路。该方案可直接应用于生产环境,有效提升前端HTTP请求的健壮性和可维护性。

2026-03-08 20:33:02 505

原创 Canvas 简单案例

本文分享了一个HTML5 Canvas的简单案例,帮助初学者理解Canvas绘图功能。通过JavaScript代码演示了如何获取Canvas元素、创建2D绘图上下文,并实现图像绘制功能。文章包含完整的HTML示例代码,展示了使用drawImage方法在Canvas上绘制图片的基本操作。作者还提到后续会专门讲解Canvas,为读者提供进一步学习资源。该案例适合具备HTML5和JavaScript基础的学习者参考。

2026-03-02 13:11:25 172

原创 Vue Router 企业级配置全攻略:打造专业级路由系统

本文详细介绍了企业级Vue项目中路由配置的最佳实践。主要内容包括:路由在企业级应用中的核心作用(权限控制、用户体验、性能优化等);推荐的模块化目录结构设计,实现职责分离;通过TypeScript扩展路由元信息,增强类型安全;具体路由配置示例展示模块化路由和静态路由的实现方式。文章强调优秀的路由配置能显著提升项目的可维护性、安全性和开发效率,为构建复杂Vue应用提供了实用指南。

2026-01-22 13:58:34 873

原创 JavaScript后端日志系统:使用Winston构建专业日志

本文介绍了Node.js生态中流行的Winston日志库的使用方法

2025-12-04 20:50:13 390

原创 快速上手 Dart 基础

本文介绍了Dart语言的基础知识,包括变量与常量的声明(var/const/final)、常用数据类型(String/数字/布尔/List/Map/dynamic)及其常用操作方法。同时讲解了Dart的空安全机制(?, ?., !, ??运算符)和运算符使用。内容涵盖字符串拼接、类型转换、列表增删改查、字典操作等基础语法,适合有前端基础的学习者快速掌握Dart核心语法要点

2025-11-15 20:46:18 956

原创 Trae 一键换装 Dracula 主题 + 改注释颜色 + 去掉 console.log 多余分号

本文介绍如何快速配置Trae编辑器的前端开发环境

2025-11-13 19:23:33 1743

原创 Vue 3 项目 ESLint 配置详解:初始模板的正确配置

本文介绍了在pnpm create vue创建的Vue3项目中配置ESLint的方法

2025-11-12 14:05:13 318

原创 Vue 图片性能优化双剑客:懒加载与自动压缩实战指南

Vue图片优化指南:使用vue-lazyload和vite-plugin-imagemin提升应用性能

2025-11-02 13:14:25 780

原创 DataGrip连接本地数据库报错 nested exception is:java.net.ConnectException: Connection timed out: connect.的解决方案

DataGrip连接本地数据库报错:DBMS: MySQL (no ver.) Case sensitivity: plain=mixed, delimited=exactConnection refused to host: 127.0.0.1; nested exception is: java.net.ConnectException: Connection timed out: connect. 的解决方案

2025-11-01 14:11:25 1295

原创 Vue 3 + TypeScript 项目性能优化全链路实战:从 2.1MB 到 130KB 的蜕变

本文详细介绍了Vue3项目的全链路优化方案,通过系统化手段实现了显著的性能提升。基于Vite构建工具,采用CDN外部化、精细化代码分割等策略,使首包体积从2.1MB降至130KB(降幅94%)。同时通过自动化图片压缩、智能预加载等技术,将LCP时间从3.2s缩短至1.8s(提升44%)。全文提供了完整的TypeScript配置代码和优化前后对比数据,包括构建体积减少70%、Lighthouse评分提升30%等具体成果。项目采用Vue3+TypeScript+Composition API技术栈。

2025-10-24 11:59:15 1159

原创 教程: 在网页中利用原生CSS实现3D旋转动画

本文介绍如何实现3D旋转卡片效果,通过HTML和CSS代码演示

2025-10-14 15:51:23 646

原创 # JavaScript 数组方法:.some()

JavaScript 数组的 .some() 方法是一个高效的短路求值工具,用于检测数组中是否存在满足条件的元素

2025-10-11 11:26:23 473

原创 Marked.js:一个强大的Markdown解析库

摘要: Marked.js是一款高效的Markdown解析库,支持浏览器端和Node.js环境,可将Markdown快速转换为HTML。

2025-09-25 16:51:55 2150

原创 MySQL 学习笔记 (Part.2)

本文介绍了MySQL中的 DQL(数据查询语言)语句

2025-09-25 11:57:59 808

原创 MySQL 学习笔记 (Part.1)

本文介绍了MySQL数据库的基础知识,包括其发展历史和关系型数据库特点、重点讲解了DDL(数据定义语言)和DML(数据操作语言)两类核心SQL语句。

2025-09-23 11:08:02 341

原创 Git团队协作实战指南:从基础到高级技巧

本文全面介绍了Git在团队协作中的使用方法和最佳实践

2025-09-21 21:04:34 678

原创 .env与.gitignore:现代软件开发中的环境管理与版本控制防护

本文系统介绍了.env和.gitignore文件在现代软件开发中的关键作用

2025-09-21 20:59:01 1184

原创 用 PyInstaller 把 Python 脚本变成“真正”的桌面应用——从安装到发布一篇通

PyInstaller是一个将Python脚本转换为可执行文件的工具,支持跨平台打包,让Python程序无需安装解释器即可运行

2025-09-20 20:19:03 518 1

原创 JavaScript 文件上传机制详解

本文深入解析JavaScript文件上传全流程,从前端文件选择到后端接收存储

2025-09-16 12:50:31 1133

原创 ECharts 核心:深度解析 options 配置项

本文为ECharts初学者提供了一份系统性配置指南,重点解析折线图7大options核心模块的配置方法

2025-09-15 13:06:40 1127

原创 深入理解节流(Throttle):原理、实现与应用场景

摘要: 节流是一种前端性能优化技术,用于限制高频事件(如滚动、鼠标移动等)的触发频率

2025-09-12 12:01:19 1603

原创 深入理解防抖(Debounce):原理、实现与应用场景

摘要: 防抖是一种前端性能优化技术,用于限制高频事件的触发频率,仅在单位时间内执行最后一次事件

2025-09-12 11:38:57 1456

原创 JavaScript 中 map 和 filter 方法的快速上手指南 (附综合案例)

本文通过色彩轮播图示例介绍了JavaScript数组的map和filter方法

2025-09-11 16:06:01 1184

原创 10 分钟上手 ECharts:从“能跑”到“生产级”的完整踩坑之旅

快速上手echart教程

2025-09-10 11:39:33 1212

原创 Next.js 快速上手指南

动态路由允许你定义一个页面模板,该模板可以根据 URL 中的参数动态加载不同的内容。例如,你有一个博客网站,每个博客文章都有一个唯一的 ID。你可以使用动态路由来创建一个页面模板,该模板可以根据文章 ID 显示不同的文章内容。layout通过动态路由,你可以根据 URL 参数动态加载页面内容,这非常适合构建需要根据参数显示不同内容的页面。而layout组件则允许你定义页面的共享结构,通过嵌套layout,你可以轻松地构建复杂的页面布局。

2025-08-30 12:03:30 1334

原创 Axios 实例配置指南

本文介绍了Axios在前端项目中的配置与使用方法。Axios是基于Promise的HTTP客户端,具有简洁API、请求拦截、跨浏览器兼容等优势。文章详细展示了如何创建Axios实例(包括设置基础URL、超时时间),添加请求/响应拦截器(处理认证、错误等),并导出配置好的实例。最后演示了如何使用该实例发送GET/POST请求。通过合理配置Axios,可以显著提升前后端交互效率。

2025-08-30 10:41:27 707 1

原创 Python与JavaScript正则表达式详解

本文介绍了Python和JavaScript中正则表达式的基础用法和核心功能

2025-06-30 19:47:31 899

原创 Python爬虫:Requests与Beautiful Soup库详解

本文介绍了Python爬虫的两个核心库Requests和Beautiful Soup的基本用法

2025-06-29 22:09:24 2237

原创 语法糖:编程中的甜蜜简化 (附 Vue 3 & Javascript 实战示例)

语法糖是编程语言中简化代码表达的语法结构,不增加新功能但提升可读性和开发效率

2025-06-21 12:26:05 856

原创 计算机导论期末快速复习指南

本文总结了计算机导论核心知识点,分为操作系统、网络基础、系统与编程、Web与数据库、新兴技术和实用工具六大板块

2025-06-19 22:25:58 1034

原创 汇编语言期末快速过手笔记

您的支持与喜爱是激励我创作的最大动力!如果内容有误请及时联系我进行修改。:由硬件系统和软件系统组成。

2025-06-18 21:41:44 812

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除