语音聊天软件源码,合理使用骨架屏降低白屏影响

news/2025/3/15 14:56:34/文章来源:https://www.cnblogs.com/yunbaomengnan/p/18773673

语音聊天软件源码,合理使用骨架屏降低白屏影响
SPA 单页应用,无论 vue 还是 react,最初的 html 都是空白的,需要通过加载 JS 将内容挂载到根节点上,这套机制的副作用:会造成长时间的白屏,
使用骨架屏其实并不能真正意义上优化白屏时长,只能从用户体验上来优化等待,其实只是一个loading效果,把大部分等待的白屏时间替换成了骨架屏来达到优化效果,在大部分移动端网页和app上都有应用,偏向C端体验了
使用骨架屏插件
这里以 vue-skeleton-webpack-plugin 插件为例,该插件的亮点是可以给不同的页面设置不同的骨架屏,这点确实很酷
(1)安装

  npm i vue-skeleton-webpack-plugin 

 

(2)vue.config.js 配置

// 骨架屏
const SkeletonWebpackPlugin = require("vue-skeleton-webpack-plugin");
module.exports = {configureWebpack: {plugins: [new SkeletonWebpackPlugin({// 实例化插件对象
        webpackConfig: {entry: {app: path.join(__dirname, './src/skeleton.js') // 引入骨架屏入口文件
          }},minimize: true, // SPA 下是否需要压缩注入 HTML 的 JS 代码quiet: true, // 在服务端渲染时是否需要输出信息到控制台
        router: {mode: 'hash', // 路由模式
          routes: [// 不同页面可以配置不同骨架屏// 对应路径所需要的骨架屏组件id,id的定义在入口文件内{ path: /^\/home(?:\/)?/i, skeletonId: 'homeSkeleton' },{ path: /^\/detail(?:\/)?/i, skeletonId: 'detailSkeleton' }]}})        ]}
}

 

(3)新建 skeleton.js 入口文件

// skeleton.js
import Vue from "vue";
// 引入对应的骨架屏页面
import homeSkeleton from "./views/homeSkeleton";
import detailSkeleton from "./views/detailSkeleton";export default new Vue({components: {homeSkeleton,detailSkeleton,},template: `<div><homeSkeleton id="homeSkeleton" style="display:none;" /><detailSkeleton id="detailSkeleton" style="display:none;" /></div>`,
});

 

以上就是语音聊天软件源码,合理使用骨架屏降低白屏影响, 更多内容欢迎关注之后的文章

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/899209.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20250315

1. 20号胶 3-5的细分

语音交友app源码,优化白屏降低用户负面情绪

语音交友app源码,优化白屏降低用户负面情绪目标: 缩小打包体积,优化白屏时间路由懒加载const Home = () => import(/* webpackChunkName: "home" */"@/views/home/index.vue"); const MetricGroup = () => import(/* webpackChunkName: "met…

Visio绘制时间轴安排图的方法

本文介绍基于Visio软件绘制时间轴、日程安排图、时间进度图等的方法~本文介绍基于Visio软件绘制时间轴、日程安排图、时间进度图等的方法。在很多学习、工作场合中,我们往往需要绘制如下所示的一些带有具体时间进度的日程安排、工作流程、项目进展等可视化图表。而基于Visio软…

华为---MUX VLAN简介及示例配置

https://blog.csdn.net/lehe99/article/details/1426209886.4 配置及解析 system-view [Huawei]sysname R [R]interface GigabitEthernet 0/0/0 [R-GigabitEthernet0/0/0]ip address 192.168.11.254 24 [R]interface LoopBack 11 [R-LoopBack11]ip address 11.11.11.11 32 syst…

SQL Server 列存储HTAP介绍

本篇文章是我线下活动分享的一个活动PPT,现在分享在我的个人博客中

基于QWidget打造的进度条控件(等待控件、加载控件)

效果图功能支持设置加载进度条颜色 支持设置中间显示文字、文字颜色、文字大小 基于QWidget开发, 开箱即用。全部代码 CircleWaitingWidget.h #pragma once #include <QWidget>/// /// 环状等待控件。 /// class CircleWaitingWidget : public QWidget {Q_OBJECTpubli…

完全开源的SQL2API低代码工具SQLREST

在现代 Web 应用中,API(应用程序编程接口)是连接前端与后端业务逻辑的重要桥梁。传统的 API 开发方式通常需要手动编写大量代码,尤其是当需要与数据库交互时,开发效率往往较低。 一、什么是 SQLREST SQLREST是一款完全开源的SQL2API低代码工具,帮助用户同步编写SQL或简单…

【晶体】范得华力,氢键

晶体的分类: 1、 金属晶体,比如铜,2、离子晶体,比如NaCl晶体,盐,3、分子晶体,比如:干冰 4、共价晶体,比如说SiO2 分子晶体,是由分子间范得华力吸引形成的。 什么是 范得华力? 分子的部分区域是正电,部分区域是负电。分子与分子之间,正负吸引的力,就是范得华…

JDK8-日历类--java进阶day07

JDK7和JDK8之间的时间API比较1.日历类1.LocalDateTime LocalDateTime最为齐全,只要掌握这个类,另外两个都是一样的now方法获取到此刻时间,of方法设置想要的时间如下图2.LocalDateTime与LocalDate和LocalTime之间的转换.3.get方法获取时间使用get,后面加上自己想要获取的时间…

ASE50N25-ASEMI光伏逆变器专用ASE50N25

ASE50N25-ASEMI光伏逆变器专用ASE50N25编辑:LL ASE50N25-ASEMI光伏逆变器专用ASE50N25 型号:ASE50N25 品牌:ASEMI 封装:TO-220F 最大漏源电流:50A 漏源击穿电压:250V 批号:最新 RDS(ON)Max:45mΩ 引脚数量:3 沟道类型:N沟道MOS管 封装尺寸:如图 特性:MOS管、N沟…

vcpkg 跨平台的c/c++库包管理工具,以libssh为例

‌vcpkg‌是一个由微软开发的开源C/C++库包管理器,支持Windows、Linux和macOS操作系统。 功能:可以自动识别依赖,并进行编译、安装。 例如,libssh库依赖openssl、zlib等。自己编译需要先下载依赖的源码、编译、安装,然后再编译libssh,很麻烦。vcpkg可以自动解决这些问题。…