静态网站回潮时,我为什么选择 Astro
从 Cloudflare 关于静态站点生成器的讨论出发,结合个人官网项目和博客从 Hexo 迁移到 Astro 的实践,讨论 Astro 为什么适合内容型静态网站,以及它和 Hugo、Eleventy、VitePress、Docusaurus、Next.js 等方案的取舍。
16 篇文章
从 Cloudflare 关于静态站点生成器的讨论出发,结合个人官网项目和博客从 Hexo 迁移到 Astro 的实践,讨论 Astro 为什么适合内容型静态网站,以及它和 Hugo、Eleventy、VitePress、Docusaurus、Next.js 等方案的取舍。
已并入《GitHub Actions 适合做什么,不适合做什么》。
从 GitHub OAuth Web application flow 出发,说明如何用服务端完成授权码换 token、校验 state,并创建本站登录态。
分析小程序组件库使用 px 与业务开发使用 rpx 的矛盾,并讨论组件库双模式、构建转换和团队选型的工程方案。
翻译并整理前端架构的核心观点,强调架构不是目录结构,而是围绕业务驱动因素、权衡取舍和限制做出的重要决策。
从 shadcn/ui 的源码分发思路出发,讨论它为什么不把自己当成传统 npm 组件库,以及复制源码、组件所有权、团队组件库和升级成本之间的取舍。
从一次组件重建问题出发,解释 React key 如何参与组件身份判断,以及什么时候适合用 key 重置状态。
解释小程序页面顶部可滚动空隙背后的 margin 塌陷问题,并比较空元素、BFC 和 overflow 方案的取舍。
从 Excalidraw 这款手绘风格画图工具出发,讨论技术文章里的图应该如何帮助读者理解结构、流程、边界和取舍,而不只是让页面看起来热闹。
从 npm 依赖版本、传递依赖、lockfile、npm ci 和 pnpm frozen install 出发,整理前端项目如何获得更稳定、可复现的构建结果。
已并入《前端依赖、lockfile 与可信构建》。
已并入《重新认识 Docker:开发环境、Linux 性能开销与 Redis 实战》。
CORS 下 Cookie 能不能生效,不只取决于 withCredentials,还取决于服务端 CORS 头、Cookie Domain、SameSite、Secure 和浏览器第三方 Cookie 策略。
早期 vue-cli webpack 模板 mock 数据方案的归档页。原方案基于修改 dev-server.js 和 Express 路由,在今天已经不适合作为主要实践参考。
从一次 Vue 组件事件失效的排查经历出发,讨论为什么排查问题时不要太早相信第一假设,以及如何用控制变量、断点、DOM 身份和版本控制把问题一步步缩小。
早年前端渲染教程的归档页。原文记录了从后端模板渲染走向 AJAX 与浏览器端渲染时的理解,今天更适合作为前端发展阶段的历史记录阅读。