[{"data":1,"prerenderedAt":172},["ShallowReactive",2],{"tag-blog-performance":3,"tag-docs-performance":65},[4,16,24,31,41,48,55],{"path":5,"title":6,"description":7,"date":8,"category":9,"tags":10},"\u002Fblog\u002Fwsl2-clash-huorong-troubleshooting","WSL2 + Clash + 火绒 踩坑排查记录","代理开着 WSL2 就断网，关掉又访问不了外网。记录一次从 ARP 拦截日志追到 TUN 模式冲突的完整排查过程，以及重建 Hyper-V 网络栈的正确恢复步骤。","2026-05-28","devops",[11,12,13,14,15],"wsl2","proxy","network","troubleshooting","debugging",{"path":17,"title":18,"description":19,"date":20,"category":9,"tags":21},"\u002Fblog\u002Fwsl2-port-forwarding-guide","WSL2 端口转发完整指南","WSL2 里跑起 dev server 本机能开、同事却访问不到？讲透 NAT 网络拓扑、portproxy 方案、防火墙放行与开机自动化脚本。","2026-05-27",[11,13,22,23,14],"port-forwarding","guide",{"path":25,"title":26,"description":27,"date":20,"category":9,"tags":28},"\u002Fblog\u002Fwsl2-setup-guide","WSL2 初始使用与开发环境配置指南","从安装发行版到搭好可用的前端开发环境，涵盖磁盘迁移、镜像加速、终端配置与常见初始化陷阱。",[11,29,30,23],"linux","windows",{"path":32,"title":33,"description":34,"date":35,"category":36,"tags":37},"\u002Fblog\u002Fvue-reactivity-principle","Vue 响应式原理源码解析","从 Vue 初始化流程切入，逐层剖析 initState 如何将 props 与 data 转为响应式，讲清依赖收集与派发更新的完整链路。","2025-03-08","source-code",[38,36,39,40],"vue","reactivity","javascript",{"path":42,"title":43,"description":44,"date":35,"category":36,"tags":45},"\u002Fblog\u002Fvue-router-source-code-analysis","VueRouter 源码深度解析","拆解 hash 与 history 两种路由模式的底层差异，跟读路由注册、匹配与导航守卫的源码实现。",[38,46,36,47],"vue-router","browser",{"path":49,"title":50,"description":51,"date":35,"category":36,"tags":52},"\u002Fblog\u002Fvuex-source-code-analysis","Vuex 源码深度解析","从单例模式与单向数据流的设计思想入手，跟读 install 函数、store 构造与响应式状态的实现细节。",[38,53,36,54],"vuex","design-pattern",{"path":56,"title":57,"description":58,"date":59,"category":9,"tags":60},"\u002Fblog\u002Fnvm-pnpm-notes","nvm 版本管理与 pnpm 对比笔记","解决 nvm list available 返回空的镜像配置问题，并对比 pnpm 与 npm 在依赖存储与安装速度上的差异。","2024-07-13",[61,62,63,64,14],"nvm","npm","pnpm","nodejs",[66,77,85,91,101,109,116,121,128,133,140,146,153,160,166],{"path":67,"title":68,"description":69,"date":70,"category":71,"tags":72},"\u002Fdocs\u002Ffrontend-coding-standards","前端团队编码规范","HTML \u002F CSS \u002F JavaScript 三端统一的团队编码约定，含缩进、命名、语法与禁用项，可直接作为 Code Review 依据。","2025-12-17","standards",[73,74,40,75,76,23],"html","css","es6","best-practice",{"path":78,"title":79,"description":80,"date":81,"category":82,"tags":83},"\u002Fdocs\u002Fwindows-mklink","Windows mklink 符号链接用法","mklink 各参数区别与实用场景：目录联接、符号链接与硬链接的选择。","2024-12-18","toolchain",[30,84],"cheatsheet",{"path":86,"title":87,"description":88,"date":89,"category":82,"tags":90},"\u002Fdocs\u002Frandom-color-utils","JS 随机颜色生成方法","几种生成随机 RGB \u002F HEX 颜色的实现方式与各自适用场景。","2024-12-11",[40,84],{"path":92,"title":93,"description":94,"date":95,"category":96,"tags":97},"\u002Fdocs\u002Fcanvas-vs-svg","Canvas 与 SVG 绘图方案选型","对比 Canvas 与 SVG 两种绘图方案的优缺点与适用场景，给出选型判断依据。","2024-12-09","visualization",[98,99,100,76],"canvas","svg","performance",{"path":102,"title":103,"description":104,"date":105,"category":82,"tags":106},"\u002Fdocs\u002Ffree-commercial-fonts","免费可商用字体整理","整理思源黑体、思源宋体等可商用中文字体，规避字体版权风险。","2024-11-03",[107,74,108],"font","notes",{"path":110,"title":111,"description":112,"date":105,"category":113,"tags":114},"\u002Fdocs\u002Finterview-browser-network","浏览器与网络考点","从输入 URL 到页面呈现的完整链路，涵盖渲染流程、回流重绘、HTTP 报文与状态码、跨域同源策略与常见攻击方式。","interview",[47,115,13,100,108],"http",{"path":117,"title":118,"description":119,"date":105,"category":113,"tags":120},"\u002Fdocs\u002Finterview-css-layout","CSS 与布局考点","em 与 rem 的区别、移动端三种适配方案对比、viewport 标准设置与 REM 布局的媒体查询实现。",[74,73,76,108],{"path":122,"title":123,"description":124,"date":105,"category":113,"tags":125},"\u002Fdocs\u002Finterview-framework-tooling","框架与工程化考点","React diff 与 setState 机制、Redux 核心组成、Vue 常考清单，以及 Webpack、Vite、Git 的面试要点。",[38,40,126,127,108],"webpack","vite",{"path":129,"title":130,"description":131,"date":105,"category":113,"tags":132},"\u002Fdocs\u002Finterview-javascript-core","JavaScript 核心考点","数据类型、this 绑定、闭包、原型链、异步与数组方法，前端面试中 JS 部分的高频考点与代码示例。",[40,75,108],{"path":134,"title":135,"description":136,"date":105,"category":137,"tags":138},"\u002Fdocs\u002Fjs-module-systems","JavaScript 模块化方案","梳理 CommonJS、AMD、ES Module 等模块化方案的差异与使用方式。","fundamentals",[40,139,75,108],"module-system",{"path":141,"title":142,"description":143,"date":105,"category":137,"tags":144},"\u002Fdocs\u002Fwebsocket-basics","WebSocket 基础","WebSocket 全双工通信协议的事件、方法与基本用法整理。",[145,13,40,108],"websocket",{"path":147,"title":148,"description":149,"date":150,"category":96,"tags":151},"\u002Fdocs\u002Fgojs-getting-started","GoJS 入门实战","从引入方式、画布初始化到节点模板与数据绑定，一份可直接上手的 GoJS 流程图开发笔记。","2024-08-22",[152,40,108],"gojs",{"path":154,"title":155,"description":156,"date":157,"category":96,"tags":158},"\u002Fdocs\u002Fecharts-options-notes","ECharts 配置项速查","整理 ECharts 常用 option 配置：数据格式、坐标轴、图例与交互项的实际用法。","2024-08-09",[159,40,84],"echarts",{"path":161,"title":162,"description":163,"date":164,"category":137,"tags":165},"\u002Fdocs\u002Fhttp-status-codes","HTTP 响应状态码详解","按 1xx 到 5xx 分类梳理 HTTP 状态码的含义与典型使用场景。","2024-06-27",[115,13,84],{"path":167,"title":168,"description":169,"date":170,"category":137,"tags":171},"\u002Fdocs\u002Fhtml-basics","HTML 基础笔记","HTML 语法规范、常用标签、表格与表单元素速查。","2022-06-10",[73,108,84],1788337378921]