@brayamvalero/vue3-skeleton

中文文档
2.0.0发布于 2025/06/25MITTypeScriptESM + CJS近 30 天下载 3436

与 Vue 3 兼容的优雅骨架库

中文使用文档
文档目录9 节
  1. : 火箭: 安装
  2. : memo: 基本用途
  3. : sparkles: 特性
  4. :警告:避免创建专用骨架屏幕
  5. :艺术:
  6. : page facing up: 主张宣言
  7. <Skeleton>
  8. <Skeleton> <SkeletonTheme>
  9. 解决问题

: skull: Vue3-斯凯勒通

构建并制作惊人的加载体验, 自动适应您的 Vue 应用程序 .

此寄存器来自 反应-加载-斯凯莱通

: 火箭: 安装

通过 国家预防机制

npm i @brayamvalero/vue3-skeleton

: memo: 基本用途

在全球安装插件 .

import { createApp } from 'vue'
import App from './App.vue'
// Import the component library & Stylesheet
import Skeleton from '@brayamvalero/vue3-skeleton'
import '@brayamvalero/vue3-skeleton/dist/style.css'

createApp(App)
    // Install the Skeleton Plugin
    .use(Skeleton)
    .mount('#app')

或者,在本地安装插件, 无论是 <script> 或者说 <script setup>

<script>
    import { Skeleton } from '@brayamvalero/vue3-skeleton'
    import '@brayamvalero/vue3-skeleton/dist/style.css'

    export default {
        components: { Skeleton },
    }
</script>
<script setup>
    import { Skeleton } from '@brayamvalero/vue3-skeleton'
    import '@brayamvalero/vue3-skeleton/dist/style.css'
</script>

现在,你准备好了

<template>
    <div class="Home">
        <h1>
            <!--Skeleton will inherit <h1> height -->
            <Skeleton />
        </h1>
        <p>
            <!--Skeleton will inherit <p> height -->
            <Skeleton :rows="3" />
        </p>
    </div>
</template>

: sparkles: 特性

以无缝方式适应您定义的样式 <Skeleton /> 模块无缝地集成到您的组件中, 装入时填入空隙。 不像其他框架那样, 设计出一个骨架屏幕是细心的任务 匹配字体大小、行高和边距,我们的 Skeleton 组件不费力地适应正确的尺寸.

例如:

<template>
    <div class="Home">
        <h1>
            <Skeleton>{{ data.title }}</Skeleton>
        </h1>
        <p>
            <Skeleton :rows="3">{{ data.description }}</Skeleton>
        </p>
    </div>
</template>

这个代码片段可以确保生成 精确比例化的骨架 <h1> 财务报告和审定财务报表 <p> 要素 不需要额外的配置。 此外,它还主持一个无缝的过渡,等待内容 在隐藏Skeleton和优雅地揭开所装内容之前.

手动加载

使用 loading 手动控制骨架装载状态的道具.

<template>
    <div class="Home">
        <h1>
            <Skeleton :loading="loading">{{ data.title }}</Skeleton>
        </h1>
        <p>
            <Skeleton :loading="loading" :rows="3">{{ data.description }}</Skeleton>
        </p>
    </div>
</template>

:警告:避免创建专用骨架屏幕

相反,配备了综合骨架状态的工艺部件.

这种方法具有若干优点:

  • 统一样式 : 确保样式的一致性.
  • 全面代表性: 部件应包含所有可想象的状态,包括装载.
  • 增强加载灵活性 : 启用更适应性的加载序列 .

:艺术:

自定义带有道具的单个骨架, 或制成 Skeleton 其下所有骨架样式的主题.

<script setup>
    import { Skeleton, SkeletonTheme } from '@brayamvalero/vue3-skeleton'
    import '@brayamvalero/vue3-skeleton/dist/style.css'
</script>

<template>
    <div class="Home">
        <!-- This applies Base Color and Highligh Color to all Skeletons -->
        <SkeletonTheme base-color="#303030" highlight-color="#606060">
            <h1>
                <Skeleton>{{ data.title }}</Skeleton>
            </h1>
            <p>
                <Skeleton :rows="3">{{ data.description }}</Skeleton>
            </p>
        </SkeletonTheme>
    </div>
</template>

内部声明道具 <Skeleton /> 将优先处理 <SkeletonTheme /> 道具来.

: page facing up: 主张宣言

低声点,你可以看看每个道具.

<Skeleton>

名称类型说明默认
行数number设定行的组件量1
圆boolean设定组件 border-radius 以50%取代边框Radius道具false
容器分类string设定组件类别为骨架容器null
子类string设定每个骨架子的组件类null
装入boolean设定组件加载状态undefined

<Skeleton> <SkeletonTheme>

名称类型说明默认
宽度string number设定组件 width,可以是数字 px 或带有相应 css 值的字符串100%
高度string number设定组件 height,可以是数字 px 或带有相应 css 值的字符串inherit
边框拉迪乌斯string number设定组件 border-radius,可以是数字 px 或带有相应 css 值的字符串0.25rem
颜色string设定组件 background-color#ebebeb
突出显示颜色string设定组件 background-image 突出显示颜色动画#ebebeb
动画期限number设定组件 animation-duration 以秒计#f5f5f5
动画 方向normal reverse设定组件动画方向 normal (从左到右)或 reverse (右边)normal
启用动画boolean设定组件动画状态 running 或者说 pausedtrue
内入boolean设定组件内置行为false
自定义高亮背景string覆盖 background-image 属性,使您能够完全自定义梯度.undefined

自定义突出显示背景

您可能想要将亮点元素中使用的梯度缩小或扩大 。 要做到这一点,你可以设置 自定义高亮背景道具。 以下是一个狭义突出的例子:

<Skeleton custom-highlight-background="linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%)">
    Loading...
</Skeleton>

如果使用这个道具,则基色和突出色色道具被忽略了,但您仍然可以参考它们 相应的 CSS 变量,如上例所示.

解决问题

骨架宽度为 0, 当父有 display: flex 在下面的例子中,骨架的宽度将是0:

<div :style="{ display: 'flex' }">
    <Skeleton :style="{ flex: 1 }" />
</div>

这是因为骨架没有内在的宽度. 你可以通过应用来修正它 flex: 1 至骨架上 容器,也可以通过 containerClass 道具 (英语).

版本与发布记录

@brayamvalero/vue3-skeleton 共发布 35 个版本,首次发布于 2024/03/22;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.0.0latest2025/06/251.4 年前
1.0.12025/05/211.5 年前
1.0.02025/05/161.5 年前
0.0.322024/04/092 年前
0.0.312024/04/092 年前
0.0.302024/04/092 年前

关于 @brayamvalero/vue3-skeleton 的常见问题

@brayamvalero/vue3-skeleton 是什么?

与 Vue 3 兼容的优雅骨架库

如何安装 @brayamvalero/vue3-skeleton?

在项目目录运行 npm install @brayamvalero/vue3-skeleton,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:vue(^3.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@brayamvalero/vue3-skeleton 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@brayamvalero/vue3-skeleton 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@brayamvalero/vue3-skeleton 可以商用吗?

@brayamvalero/vue3-skeleton 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@brayamvalero/vue3-skeleton 的下载量有多少?

根据 npm 官方下载统计,@brayamvalero/vue3-skeleton 在 2026/10/09 – 2026/11/07 这 30 天内被下载 3,436 次,日均约 115 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@brayamvalero/vue3-skeleton 还在维护吗?

最新版本 2.0.0 发布于 2025/06/25(1.4 年前);至今共发布 35 个版本,其中过去 12 个月发布了 0 个;首次发布于 2024/03/22。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。