[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-info":3,"article-categories":4,"articles--2-1":25,"articles-hot":90},null,{"list":5,"total":23},[6,11,15,19,22],{"id":7,"name":8,"sort":7,"createdAt":9,"updatedAt":9,"articleCount":10},1,"技术笔记","2026-11-12T18:30:42.000Z",16,{"id":12,"name":13,"sort":12,"createdAt":9,"updatedAt":9,"articleCount":14},2,"前端开发",38,{"id":16,"name":17,"sort":16,"createdAt":9,"updatedAt":9,"articleCount":18},3,"后端与架构",53,{"id":20,"name":21,"sort":20,"createdAt":9,"updatedAt":9,"articleCount":7},4,"产品与思考",{"id":23,"name":24,"sort":23,"createdAt":9,"updatedAt":9,"articleCount":12},5,"生活随笔",{"list":26,"total":14,"page":7,"pageSize":89},[27,35,41,47,53,59,65,70,76,83],{"id":28,"title":29,"categoryId":12,"categoryName":13,"isTop":30,"viewCount":31,"createdAt":32,"updatedAt":33,"excerpt":34},11,"深入理解 JavaScript 事件循环",false,84,"2026-11-12T10:30:42.000Z","2026-11-14T00:34:49.000Z","这是「JavaScript 事件循环」主题下的一篇实践记录：深入理解 JavaScript 事件循环。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，JavaScript 事件循环往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时…",{"id":36,"title":37,"categoryId":12,"categoryName":13,"isTop":30,"viewCount":38,"createdAt":39,"updatedAt":33,"excerpt":40},12,"深入理解 Vue 3 响应式原理",219,"2026-11-11T15:30:42.000Z","这是「Vue 3 响应式原理」主题下的一篇实践记录：深入理解 Vue 3 响应式原理。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，Vue 3 响应式原理往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点…",{"id":42,"title":43,"categoryId":12,"categoryName":13,"isTop":30,"viewCount":44,"createdAt":45,"updatedAt":33,"excerpt":46},13,"深入理解 TypeScript 类型体操",357,"2026-11-10T20:30:42.000Z","这是「TypeScript 类型体操」主题下的一篇实践记录：深入理解 TypeScript 类型体操。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，TypeScript 类型体操往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时…",{"id":48,"title":49,"categoryId":12,"categoryName":13,"isTop":30,"viewCount":50,"createdAt":51,"updatedAt":33,"excerpt":52},14,"深入理解 CSS 现代布局",495,"2026-11-10T01:30:42.000Z","这是「CSS 现代布局」主题下的一篇实践记录：深入理解 CSS 现代布局。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，CSS 现代布局往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界…",{"id":54,"title":55,"categoryId":12,"categoryName":13,"isTop":30,"viewCount":56,"createdAt":57,"updatedAt":33,"excerpt":58},15,"深入理解 HTTP 缓存策略",632,"2026-11-09T06:30:42.000Z","这是「HTTP 缓存策略」主题下的一篇实践记录：深入理解 HTTP 缓存策略。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，HTTP 缓存策略往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标…",{"id":10,"title":60,"categoryId":12,"categoryName":13,"isTop":30,"viewCount":61,"createdAt":62,"updatedAt":63,"excerpt":64},"深入理解 前端监控体系",769,"2026-11-08T11:30:42.000Z","2026-11-14T00:34:48.000Z","这是「前端监控体系」主题下的一篇实践记录：深入理解 前端监控体系。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，前端监控体系往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑选方案…",{"id":16,"title":66,"categoryId":12,"categoryName":13,"isTop":30,"viewCount":67,"createdAt":68,"updatedAt":63,"excerpt":69},"前端性能优化：从首屏 3.2s 到 1.1s",1852,"2026-11-07T18:30:42.000Z","上个月接手一个后台项目，首屏加载 3.2 秒，用户反馈「点开要等一下」。经过一周优化，稳定在 1.1 秒左右。下面按收益从高到低记录。 1. 先量化，再优化 优化之前必须建立基线。我使用的是 Lighthouse + 真实用户监控两条线：实验室数据看瓶颈，真实数据看用户感受。 2. 拆包与懒加载 路由级代码分割，首屏只…",{"id":71,"title":72,"categoryId":12,"categoryName":13,"isTop":30,"viewCount":73,"createdAt":74,"updatedAt":63,"excerpt":75},17,"深入理解 微前端拆分方案",894,"2026-11-07T16:30:42.000Z","这是「微前端拆分方案」主题下的一篇实践记录：深入理解 微前端拆分方案。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，微前端拆分方案往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑…",{"id":77,"title":78,"categoryId":12,"categoryName":13,"isTop":30,"viewCount":79,"createdAt":80,"updatedAt":81,"excerpt":82},6,"Tailwind CSS 4 主题变量实战",886,"2026-10-27T18:30:42.000Z","2026-11-14T00:34:45.000Z","Tailwind CSS 4 把配置从 JavaScript 搬到了 CSS 里，主题变量用起来更自然。这篇文章记录几个在真实项目里总结的用法。 用 CSS 变量定义主题 @theme static { --font-sans: 'OPPO Sans SC', 'PingFang SC', system-ui, san…",{"id":84,"title":85,"categoryId":12,"categoryName":13,"isTop":30,"viewCount":86,"createdAt":87,"updatedAt":63,"excerpt":88},31,"JavaScript 事件循环 实践笔记",1007,"2026-10-27T14:30:42.000Z","这是「JavaScript 事件循环」主题下的一篇实践记录：JavaScript 事件循环 实践笔记。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，JavaScript 事件循环往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时…",10,{"list":91,"total":123,"page":7,"pageSize":77},[92,98,99,105,111,117],{"id":93,"title":94,"categoryId":16,"categoryName":17,"isTop":30,"viewCount":95,"createdAt":96,"updatedAt":33,"excerpt":97},24,"深入理解 分布式锁实现",1865,"2026-11-02T03:30:42.000Z","这是「分布式锁实现」主题下的一篇实践记录：深入理解 分布式锁实现。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，分布式锁实现往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑选方案…",{"id":16,"title":66,"categoryId":12,"categoryName":13,"isTop":30,"viewCount":67,"createdAt":68,"updatedAt":63,"excerpt":69},{"id":100,"title":101,"categoryId":12,"categoryName":13,"isTop":30,"viewCount":102,"createdAt":103,"updatedAt":63,"excerpt":104},37,"微前端拆分方案 实践笔记",1846,"2026-10-22T20:30:42.000Z","这是「微前端拆分方案」主题下的一篇实践记录：微前端拆分方案 实践笔记。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，微前端拆分方案往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑…",{"id":106,"title":107,"categoryId":7,"categoryName":8,"isTop":30,"viewCount":108,"createdAt":109,"updatedAt":33,"excerpt":110},50,"单元测试实践 实践笔记",1826,"2026-10-12T13:30:42.000Z","这是「单元测试实践」主题下的一篇实践记录：单元测试实践 实践笔记。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，单元测试实践往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑选方案…",{"id":112,"title":113,"categoryId":16,"categoryName":17,"isTop":30,"viewCount":114,"createdAt":115,"updatedAt":63,"excerpt":116},63,"接口幂等设计 的十个细节",1805,"2026-10-02T06:30:42.000Z","这是「接口幂等设计」主题下的一篇实践记录：接口幂等设计 的十个细节。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，接口幂等设计往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑选方…",{"id":118,"title":119,"categoryId":12,"categoryName":13,"isTop":30,"viewCount":120,"createdAt":121,"updatedAt":63,"excerpt":122},76,"一次 前端监控体系 的踩坑记录",1787,"2026-09-21T23:30:42.000Z","这是「前端监控体系」主题下的一篇实践记录：一次 前端监控体系 的踩坑记录。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，前端监控体系往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再…",110]