10年了,前端“骨架屏”终于变天,不需要写CSS了!

0 阅读1分钟

Boneyard-js = 全自动骨架屏生成工具 不用手写 CSS、不用算尺寸、不用适配响应式,直接从你真实组件生成骨架,UI 变了骨架自动跟着变。

图片

二、安装(一行搞定)

图片

npm install boneyard-js
# 或
yarn add boneyard-js
pnpm add boneyard-js

三、3步直接用(复制粘贴即可)

1. 包裹组件(最基础用法)

// app/blog/page.tsx
'use client' // Next.js App Router 必须加

import { Skeleton } from 'boneyard-js/react'

function BlogPage() {
  const { data, isLoading } = useFetch('/api/post')

  return (
    // 👇 给 name,控制 loading 状态
    <Skeleton name="blog-card" loading={isLoading}>
      {data && <BlogCard data={data} />}
    </Skeleton>
  )
}

重点:

  • name 必须填:CLI 靠它识别并生成骨架
  • loading:控制骨架屏显示/隐藏

2. 带接口请求的组件(必看 fixture)

如果组件需要后端数据才能渲染,用 fixture 给假数据,生成骨架时用 mock 内容,不影响生产环境。

<Skeleton
  name="blog-card"
  loading={isLoading}
  // 👇 生成骨架用的 mock 内容,只在构建时生效
  fixture={
    <BlogCard
      data={{
        title: "Sample Post",
        excerpt: "Placeholder text for layout...",
        author: "Jane Doe"
      }}
    />
  }
>
  {data && <BlogCard data={data} />}
</Skeleton>

3. 生成骨架文件(最后一步)

先启动你的开发服务器,再执行:

npx boneyard-js build

自动扫描所有带 name 的 Skeleton,生成 .bones.json 骨架配置,运行即生效


文档:boneyard.vercel.app/overview