前端项目做久了,会攒下很多零散片段:音乐播放器、图标库、目录插件、热力图、轮播图、Grid 布局、箭头函数、请求封装、路由守卫、SEO、sitemap。它们单看都不复杂,但如果没有分类,下一次用到时还是要重新搜。
我更愿意把这类 note 当成“前端工作台”,按用途整理,而不是按收藏时间堆链接。
先按使用场景分区
前端备忘最好先分成几类:
- 交互插件:播放器、图标、提示、目录、热力图、轮播图。
- CSS 和布局:Grid、Flex、排版、图片裁剪、高度塌陷。
- JavaScript 和 TypeScript 语法:箭头函数、展开运算符、类型标注、异步函数。
- 内容站前端:SEO、服务端渲染、sitemap、新站上线检查。
- 请求和路由:fetch、后端接口、菜单、评论、路由守卫。
这样整理以后,找东西时不是想“我当时收藏在哪”,而是想“这属于哪个问题”。
插件选型不要只看能不能跑
前端插件很容易陷入 demo 好看就接入的状态。比如播放器、Markdown 编辑器、目录插件、热力图组件,真正接到项目里要看更多东西。
选插件时可以问:
- Vue 版本是否匹配。
- TypeScript 类型是否完整。
- 样式是否容易覆盖。
- 包体积和依赖是否过重。
- 是否能 SSR 或静态构建。
- 是否会和现有组件库冲突。
内容站尤其要注意插件是否影响首屏和 SEO。一个目录插件如果只在客户端渲染,页面本身仍然可读问题不大;如果正文也依赖客户端脚本生成,搜索和分享预览就可能受影响。
布局片段要写清使用边界
CSS 片段最常见的问题是“这段代码能解决当前问题,但下次不知道适不适合”。比如 object-fit: cover 很好用,但它的语义是保持图片比例填满容器,多余部分会被裁剪。如果图片主体不能被裁掉,就不应该直接用。
Grid 和 Flex 也一样。Grid 更适合二维网格,Flex 更适合一维排列。不要为了熟悉某一个写法,把所有布局都套成同一种。
我会在备忘里给每个片段补一句使用边界:
object-fit: cover适合封面图,不适合需要完整展示的图。- Grid 适合卡片墙、仪表盘和多列布局。
- Flex 适合导航、按钮组、水平或垂直排列。
- 固定头部要同时考虑内容遮挡和锚点滚动偏移。
这类边界比代码本身更有价值。
语法片段要转成自己的解释
很多 JS/TS 语法一开始只是收藏文章,真正有用的是转成自己的话。
比如箭头函数,可以记成三点:
- 它是更短的函数写法。
- 单参数可以省略括号,单表达式可以省略
return。 - 它没有自己的
this,会捕获外层作用域的this。
再比如 TypeScript 函数:
const loadFontsRaw = async (): Promise<FontMap> => {
return fetchFonts();
};
可以拆成:
const loadFontsRaw是定义变量保存函数。async表示函数返回 Promise。(): Promise<FontMap>是返回值类型。- 函数体里可以用
await。
这种拆法看起来啰嗦,但对后续读复杂代码很有用。
请求和路由要按业务链路记录
请求后端、评论列表、菜单、路由守卫这类内容,不适合只存一个代码片段。更应该按链路记录:
- 页面什么时候触发请求。
- 请求参数从哪里来。
- loading、错误和空状态怎么处理。
- 登录态失效时跳哪里。
- 成功以后更新本地状态还是重新拉列表。
比如评论功能,发评论后要不要立刻插入列表、是否需要审核状态、分页是否回到第一页,这些都比单纯的 fetch 示例更接近真实工程。
路由守卫也一样。它不是只判断有没有 token,还要处理白名单路由、用户信息加载、权限菜单、刷新页面后的状态恢复和跳转循环。
内容站前端要额外看 SEO
普通后台系统主要看交互效率,内容站前端还要看搜索引擎和社交分享能不能理解页面。
整理备忘时可以单独保留这些问题:
- 页面标题和描述在哪里生成。
- sitemap 是静态生成还是动态接口。
- Open Graph 图片是否存在。
- 刷新页面是否 404。
- 静态资源路径是否稳定。
- 文章目录和正文是否能被首屏 HTML 承载。
如果是纯 SPA,SEO 成本会高一些。可以靠预渲染、SSR、SSG 或 WordPress 这类成熟 CMS 来降低复杂度。不要把内容站做成“用户能看,搜索引擎看不懂”的结构。
最后沉淀成可复用清单
前端备忘的目标不是收藏更多链接,而是让下一次开工更快。可以给每类内容沉淀一个小清单:
- 插件:适配版本、依赖体积、样式覆盖、SSR 支持。
- 布局:适用场景、边界、移动端检查点。
- 语法:自己的解释、最小示例、常见坑。
- 请求:入参、状态、错误、重试、登录态。
- 内容站:标题、描述、sitemap、分享图、路由回退。
这样一来,零散 note 就不再只是历史收藏,而会变成下一个项目的启动工具箱。




