自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 广度优先搜索(BFS)

本文系统性地介绍了广度优先搜索(BFS)的基础知识,重点阐述了图论基础概念。文章首先定义了图的组成元素(节点和边),区分了无向图和有向图,并解释了图的两种存储方式:邻接矩阵(查询高效但空间耗费大)和邻接表(空间优化但查询稍慢)。随后阐明了树作为特殊图(无环且连通)的关系,强调所有图算法都适用于树结构。这些基础概念为理解BFS算法奠定了重要理论基础。

2025-10-29 13:38:52 651

原创 贪心算法 with Gemini

让我们从贪心算法最核心、最迷人也最危险的一句话开始:这句话听起来非常直接,甚至有点短视。它意味着我们不需要深谋远虑,不需要预知未来,只需要关注眼前,做出一个“局部最优”的决策。一个生动的比喻:登山想象一下,你身处一片连绵不绝的山脉中,目标是登上最高的山峰。但你手上没有地图,而且有大雾,你只能看清脚下附近的一小片区域。你会怎么做?一个最自然、最“贪心”的策略就是:环顾四周,哪条路是向上走的,就往哪条路走。 在你走的每一步,你都确保自己是在“爬升”。这就是贪心算法的精髓。它的力量(The Power): 这个策

2025-10-25 16:12:44 1433 2

原创 从渲染时序到样式污染:一次 Leaflet 弹窗布局问题的深度排查案例

在开发基于 Vue/Nuxt 的组件化应用时,一个 Leaflet 地图弹窗布局错位的问题引发了深入排查。初始怀疑渲染时序或异步加载问题,最终发现是 CSS 作用域污染导致。原因是未加 scoped 的组件样式泄漏为全局样式,影响了其他组件的弹窗布局。通过为组件添加 scoped 属性和使用 :deep() 选择器,既解决了样式冲突,又保留了必要的样式定制。该案例强调了默认使用 scoped 样式、善用开发者工具检查样式来源的重要性,以及理解 :deep() 在组件化开发中的关键作用。

2025-10-24 11:06:15 739

原创 Nuxt SSR 踩坑实录:为何页面刷新就报 500 错?

环境差异是第一原则:在编写任何代码或引入任何第三方库时,都要在脑中时刻绷紧一根弦:“这段代码会在 Node.js 中运行吗?它是否依赖了只有浏览器才有的 API?深入理解工具链:不要满足于工具的“开箱即用”。理解 <ClientOnly> 的边界,了解不同库(如 nuxt-icon vs lucide-vue-next)的设计哲学和实现差异,是排查深层次问题的关键。对比是调试的利器:当遇到难以理解的 Bug 时,寻找一个“正常工作”的参照物,通过像素级的对比来定位问题,往往能事半功倍。选择纯粹与可预测。

2025-10-22 18:38:18 632 1

原创 Vue CSR 到 Nuxt 3 SSR 迁移:技术实现与问题解决实录

本文详细介绍了将Vue3 CSR项目迁移至Nuxt3 SSR的完整方案。首先分析了CSR架构在SEO和首屏性能方面的局限性,阐述了Nuxt3 SSR的优势。迁移过程包括项目初始化、静态资源转移、SCSS配置、组件迁移、路由重构等步骤,并重点解决了客户端代码SSR执行、路由跳转、Props传递等常见问题。最后针对SEO优化提出动态Meta标签、规范化URL、站点地图等建议。该方案通过详细的技术步骤和问题解决方案,帮助开发者构建兼具高性能和良好SEO特性的现代化Web应用。

2025-07-21 17:19:04 1173

原创 一文了解前端的SEO

本文系统介绍了前端工程师需要掌握的SEO知识与技术要点。首先解释了SEO的基本概念,将其比喻为让图书馆管理员更容易推荐你的书。重点阐述了前端工程师在技术性SEO中的核心职责:HTML语义化标签的正确使用、网站性能优化(Core Web Vitals指标)、移动端适配、可抓取性优化等。针对SPA应用的SEO挑战,提供了SSR、SSG等解决方案。文章还介绍了关键词研究、结构化数据等进阶知识,并给出了面试应答的完整思路。全文强调前端开发不仅是实现功能,更要构建搜索引擎友好的高性能产品。

2025-07-21 16:59:20 755

原创 Flexbox 布局

这个属性决定了项目们的排列方向。row(默认值): 主轴水平,从左到右。: 主轴水平,从右到左。column: 主轴垂直,从上到下。: 主轴垂直,从下到上。这是最常用、最重要的属性之一!它用来分配主轴上的剩余空间。flex-start(默认值): 所有项目向主轴起点对齐(靠左)。flex-end: 所有项目向主轴终点对齐(靠右)。center: 所有项目在主轴上居中对齐(整体居中)。两端对齐。第一个项目贴着起点,最后一个项目贴着终点,剩余项目均匀分布。项目之间的间距相等。环绕对齐。

2025-06-15 09:08:55 1875

原创 API集成中“请求参数不正确”错误的根因分析与解决

在前端与后端API集成开发中,“请求参数不正确”是一个高频出现的错误。它标志着前端发送的请求已成功抵达服务器,但服务器的验证逻辑拒绝了该请求。本文将通过一个真实案例,剖析从功能正常到引入新功能后出现此错误的完整调试路径。

2025-06-12 16:21:04 1107

原创 微信小程序搜索功能失效:从现象到根源的技术排查与解决方案

在开发小程序应用时,搜索功能是提升用户体验的核心组件之一。然而,“搜索功能失效”是一个常见的、但原因多样的开发问题。本文将通过一个真实案例,系统性地分析从现象观察到问题定位,再到最终解决的完整技术路径,旨在为开发者提供一个清晰的排查框架。

2025-06-12 15:08:19 1230

原创 在 TypeScript 中消费无类型 JS 模块 ,TS2322 类型不匹配错误:三种核心解决方案的深度解析

在现代前端开发中,我们常常需要在严谨的 TypeScript (.ts) 项目中引入或依赖于一个原生 JavaScript (.js) 编写的模块。这种场景下,一个核心挑战是如何确保端到端的类型安全。本文将以一个常见的 API 请求模块为例,深度解析当 TS 模块调用 JS 模块时产生的 TS2322 类型不匹配错误,并提供三种截然不同但都行之有效的解决方案:类型断言 (Type Assertion) 和 类型声明文件 (Declaration File) 和完全类型迁移(Full Type Migrati

2025-06-11 09:35:14 709

原创 Vue 响应式陷阱:为什么我的 setup 数据变了,页面却不更新?

在 Vue 3 (或遵循其 Composition API 规范的框架,如 @vue-mini/core) 中,一个常见的“幽灵 Bug”是:在 setup 函数中成功获取了数据,console.log 也证明了 state 对象确实被更新,但视图(页面)却像一块顽石,拒绝做出任何改变。本文将深入剖析这一现象的根本原因,并提供最终的、规范的解决方案。

2025-06-10 11:17:51 1800

原创 CSS选择器

CSS选择器精准定位指南 本文系统讲解CSS选择器的使用方法,分为两大阶段: 基础选择器(5种): 类型选择器:通过元素名选择(如p) 类选择器:通过类名选择(如.important-text) ID选择器:通过唯一ID选择(如#first-p) 通用选择器:选择所有元素(*) 分组选择器:合并多个选择器(如h1, .highlight) 属性选择器(7种): 存在和值选择器:按属性存在([title])或精确匹配([target="_blank"]) 子串值选择器:按前缀(^=)、后缀

2025-06-06 13:12:13 965 1

原创 JavaScript 学习路径

=><>=<=

2025-06-04 20:15:10 814

原创 CSS盒模型

如果一个块级元素是空的(没有内容、padding、border、height),并且它只有 margin-top 和 margin-bottom,那么它自身的 margin-top 和 margin-bottom 也会发生折叠。相邻的兄弟元素,上面的元素有 margin-bottom,下面的元素有 margin-top,它们之间的外边距不会简单相加,而是会取两者中较大的那个值。在 CSS 中,每一个 HTML 元素都可以看作是一个矩形的盒子。我们将创建一个简单的 div 元素,并逐步添加这四个部分的样式。

2025-06-04 12:55:29 1656

原创 Vue Router 导航后页面无法滚动

在近期一个 Vue.js (Vue 3 + Vue Router 4) 单页面应用(SPA)项目中,遇到了一个用户体验上的小插曲:当用户通过侧滑菜单中的链接导航到新的路由视图后,新加载的页面内容虽然显示正常,但页面却无法进行上下滚动。考虑到“无法滚动”,首先怀疑的对象自然是 CSS 的 overflow 属性。手动刷新页面时,JavaScript 重新执行,isMenuOpen 的初始状态通常是 false,因此 html-overflow-hidden 类不会在页面加载时被添加,滚动自然正常。

2025-06-02 16:02:56 720

原创 基于 Vue.js 框架下 ScrollMagic 动画失效问题的研究:以侧边栏组件为例探讨函数式 Ref 的应用

基于 Vue.js 框架下 ScrollMagic 动画失效问题的研究:以侧边栏组件为例探讨函数式 Ref 的应用

2025-05-22 20:38:29 775

空空如也

空空如也

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

TA关注的人

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