专为自由职业、独立开发者提供技能分享交流学习成长的平台,按 Ctrl+D 收藏我们
关于 积分 赞助 社群 投稿

爱网赚i5z.net

  • 首页
  • 发现
    • 有趣产品
    • 项目分享
    • 技能分享
    • 必备工具
    • 苏米杂谈
  • 独立开发者
    • 开发者周刊
    • 开发者故事
  • 实用资源
    • 建站资源
    • 精品教程
    • 域名优惠
    • VPS优惠
  • 独立开发导航
  • 更多
    • 标签云
    • 排行榜
    • 查域名
    • 留言板
    • 小卖铺
  • 登录
  • 首页
  • 发现
    • 有趣产品
    • 项目分享
    • 技能分享
    • 必备工具
    • 苏米杂谈
  • 独立开发者
    • 开发者周刊
    • 开发者故事
  • 实用资源
    • 建站资源
    • 精品教程
    • 域名优惠
    • VPS优惠
  • 独立开发导航
  • 更多
    • 标签云
    • 排行榜
    • 查域名
    • 留言板
    • 小卖铺
当前位置: 首页 » 建站资源

Boneyard:拒绝手写骨架屏!正式“干掉”骨架屏!

1小时前 2 0

今天苏米要分享的这个独立开发者思路,非常值得学习:把“骨架屏”从手工活变成自动产物。希望能给你的独立开发之路带来更高的效率和更少的重复劳动。

在前端世界里,有一件事几乎每个人都干过——写骨架屏(Skeleton)。常见做法无非两种:

  • 用 Ant Design 这类组件库拼一个
  • 或者自己手写一套骨架组件

问题也很现实:

  • 想做到“和真实 UI 完全一致”,代码会非常多
  • 一旦 UI 改了,骨架屏很容易忘记同步
  • 布局复杂一点(卡片、列表、嵌套结构),基本就是体力活

🚀 Boneyard:拒绝手写骨架屏

最近有个项目开始在圈子里刷屏 —— Boneyard。

它做了一件很“反常识”的事:

  • ❌ 不再手写 Skeleton
  • ✅ 直接从真实页面“生成 Skeleton”
  • 让骨架屏不再是 UI,而是“编译产物”

这背后的价值很直接:UI 怎么变,骨架屏就怎么跟;不再为改了一行 CSS 去补一堆占位结构。

🧠 它到底是怎么做到的?

Boneyard 的核心思路是:在构建阶段,把真实 UI “拍扁”成骨架数据,然后在运行时按数据渲染骨架。

用更直白的话说:

  • 在构建时无头浏览器打开你的页面/组件,读取每个元素的坐标、尺寸、圆角等
  • 过滤掉看不见或无需占位的元素(如透明、display:none 等)
  • 把这些信息写进一个数据文件,供运行时直接绘制骨架层

这样一来,“骨架屏”就不再是另一套 UI,而是你的真实 UI 的一个“快照轮廓”。

核心工作流(非常关键)

  1. 正常写你的组件,你不需要写任何骨架 UI:
    
      
    

    小贴士:把组件包在 Skeleton 里,Boneyard 才知道要为这个“name”生成数据。

  2. 运行 CLI 生成骨架
    npx boneyard-js build

    这一步才是核心:它会启动浏览器(Playwright)扫描 DOM,记录所有元素的位置和尺寸,最终生成一份数据文件:.bones.json。

    本质就是:UI → 坐标数据(x / y / width / height / radius)。它还可以按断点收集不同尺寸下的数据,避免响应式错位。

  3. 运行时直接渲染

    不再依赖真实组件,只渲染“骨架数据”。这让首屏更轻,渲染也更稳定。

实践要点(建议):

  • 用接近真实的数据源或 mock 数据执行构建,这样骨架更贴近上线效果
  • 把 build 加入 CI,每次 UI 改动都同步刷新骨架数据
  • 多端/多断点页面单独生成,避免在移动端出现桌面布局的骨架

⚡ 如何快速上手?

  1. 安装
    npm install boneyard-js
  2. 包裹组件
    
      
    
  3. 生成骨架
    npx boneyard-js build

    完成之后就可以直接用了。

上手注意:

  • 需要可用的本地/预览环境让 Playwright 能渲染页面
  • 颜色、动效通常可在 Skeleton 运行时配置(比如浅灰、呼吸动画),与业务解耦
  • UI 大幅调整后记得重建,否则骨架可能偏移

🌍 支持哪些框架?

这是 Boneyard 很有意思的一点:它本质是跨框架的。

  • ✅ 官方支持:React、React Native、Svelte 5
  • 🧩 Vue 也能用(社区版本)

对多端和多技术栈的团队而言,统一“骨架生成方式”,维护成本会下降一大截。

🧩 Vue 也能用(社区版本)

虽然官方还没有 Vue 版本,但社区已经有人做了适配 —— boneyard-vue。它本质上做了一件事:用 Vue 实现 Skeleton 运行时。

所以你可以这样写:


  

小提醒:

  • 社区实现可能跟进节奏不一,升级注意版本匹配
  • SSR/CSR 项目注意在客户端渲染时再启用骨架数据,避免水合冲突

💥 写在最后

Boneyard 本质是在做一件事:把“骨架屏”从手工活,变成编译产物。

如果说过去 20 年:前端在“写 UI”,那 Boneyard 在做的是:让 UI 的“加载态”也进入编译时代。

当 Skeleton 都开始被编译:那未来会不会是:

  • loading 不再写
  • animation 不再写
  • 甚至 UI 也不再“手写”

更务实的建议:

  • 适合:页面结构稳定、样式变化频繁的中大型项目;设计追求一致性的团队
  • 不适合:布局高度依赖实时尺寸/用户配置的页面(需要更细粒度控制)
  • 与 Suspense/流式渲染并不冲突:可以把骨架当作更贴合真实布局的 fallback

🔗 相关链接

  • Boneyard 官网:https://boneyard.vercel.app/overview
  • Boneyard Vue:https://github.com/samuelbelo/boneyard-vue
声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。
未经允许不得转载:Boneyard:拒绝手写骨架屏!正式“干掉”骨架屏!
#Boneyard #Vue 
收藏 1
推荐阅读
  • i18n:翻译界的神器!一键实现国际化适配Vue和React
  • MkSaaS:完整的 AI SaaS 建站解决方案,高质量Next.js建站模板
  • Tailspark:快速构建美观响应式网页的免费CSS组件资源平台
  • 21st.dev:独立开发者AI建站,高效开发前端必备组件库
  • 8个独立开发者建站必备的设计资源,直接复制代码拿来就用
评论 (0)
请登录后发表评论
分类精选
2025年18个icon图标库推荐:独立开发最值得收藏的建站素材资源
2908 8月前
独立开发者建站必备:15个顶级UI设计资源站,用 AI 模板赋能你的 Vibecoding 界面设计
1662 9月前
21st.dev:独立开发者AI建站,高效开发前端必备组件库
1323 9月前
站长必备:10款免费可商用的中文字体下载推荐
1305 6月前
BillionMail:打造属于你的开源邮件营销系统,轻松发亿封邮件,独立站出海必备
1248 9月前
8个独立开发者建站必备的设计资源,直接复制代码拿来就用
1225 9月前
Public APIs:开发者的公共API宝库,Star 350K!
1185 8月前
个人项目也能发验证码了?独立开发者短信验证码解决方案,无需企业认证
1181 8月前
Bing Search API平替,秘塔搜索 API:性价比首选,还支持播客搜索
1156 8月前
AI 生图类 SaaS:这两个开源项目直接拿来改就能上线了!独立开发必备
1118 9月前

文章目录

分类排行
1 Boneyard:拒绝手写骨架屏!正式“干掉”骨架屏!
2 Lupine:一个框架统治前后端,真正的全栈开发集大成之作
3 NginxPulse:一个轻量级Nginx日志分析神器,让网站访问数据一目了然
4 SSL证书:分享一个免费申请90天SSL证书的网站
5 宝塔面板免费领取一年SSL证书教程
6 Laranode:又一款免费轻量的服务器面板,还是宝塔平替?
7 Happy-Captcha:一款基于JAVA实现的开源免费验证码系统,1行代码得到炫酷的验证码
8 Isocons:3秒找到精准图标的效率神器
9 独立开发用的上的全国及省市数据资源汇总
10 1Panel:一键部署、全能管理,这个现代化的开源Linux运维面板,快速部署必备!
©2015-2024 i5z爱网赚出海分享 版权所有 · www. i5z.net 闽ICP备15002536号-6
免费影视导航 花式玩客 免费字体下载 产品经理导航 Axure RP 10 免费Axure模板 网赚分享 跨境数研所 聚玩盒子 申请友联