博客技术栈
本站使用以下技术构建,追求高性能与最佳开发体验
Astro 5
现代化的静态站点生成器
Tailwind CSS 3
实用优先的 CSS 框架
TypeScript
类型安全的 JavaScript
Swup
页面过渡动画
最新文章
View all posts »记录技术学习、前端开发经验和日常思考。每一篇文章都经过精心打磨,希望对你有所帮助。

Open Graph 与结构化数据:让链接在聊天框和搜索结果里都好看
把「链接预览不好看」拆成两套互不相干的词汇表:Open Graph 决定聊天框里的卡片,JSON-LD 决定搜索引擎读懂了什么。逐条讲清 og:image 的三种静默失败、twitter:card 属性名为什么是 name、Google 为什么说结构化数据「没有必填属性」,并给出一段能自己量图片真实尺寸的校验脚本。

前端错误监控实战:从 window.onerror 到 Source Map 还原
线上告警只有一行 app.9f2c1a.js:1:48213,而这一行是两百个函数压成的。这篇文章把错误监控拆成捕获、上传、还原三段:window.onerror 的五个参数与资源错误的捕获陷阱、unhandledrejection 里 reason 不一定是 Error、为什么生产环境该用 sourcemap: "hidden",以及一段能直接跑的脚本,把压缩堆栈还原回源码行列。

Code Review 人间百态:LGTM 背后的真相
「LGTM 👍」——一个 1400 行的 PR,40 秒后就被批准。这三个字母既可能是最高的信任,也可能是最贵的一次敷衍。把评审现场的黑话逐条拆开,再看看研究数据里,代码评审到底抓到了什么、又漏掉了什么。

摸鱼的艺术:办公室生存指南
鼠标抖动器、老板键、「我在跑构建」——摸鱼段子人人会讲,但摸鱼其实分两种:一种靠伪造活动信号,一种靠把等待时间自动化掉。它们在你屏幕上的样子几乎一模一样,区别在你离开之后留下了什么。
我的技术栈
多年积累的技术能力,持续学习与进步
React
Vue.js
TypeScript
JavaScript
HTML5
CSS3
Tailwind CSS
Astro
Svelte
Node.js
Git
VS Code
pnpm
Vite
Markdown
我的项目
以下是我参与和开发的一些项目,持续更新中