详解VUE单页应用骨架屏方案
2024-06-24 11:11:52阅读量:33 字体:大 中 小
什么是骨架屏?
简单的说,骨架屏就是在页面未渲染完成的时候,先用一些简单的图形大致勾勒出页面的基本轮廓,给用户造成页面正在加载的错觉,待页面渲染完成之后再用页面替换掉骨架屏,从而减少页面白屏的时间,给用户带来更好的体验。

分析VUE渲染过程
使用vue-cli3.0创建项目: vue create project
在生成的项目文件夹下的public文件夹下的index.html文件代码如下:
可以看到,DOM里面有一个div#app,当js被执行完成之后,此div#app会被整个替换掉,因此,如何在Vue页面实现骨架屏,已经有了一个很清晰的思路——在div#app内直接插入骨架屏相关内容即可。
实现方案
手动在div#app里面写入骨架屏内容是不科学的,因此需要一个扩展性强且自动化的易维护方案。既然是在Vue项目里,所以所谓的骨架屏也是一个.vue文件,它能够在构建时由工具自动注入到div#app里面。 首先,我们在/src目录下新建一个Skeleton.vue文件,其内容如下:
接下来,在/src目录再新建一个skeleton.entry.js入口文件:
在完成了骨架屏的准备之后,我们需要一个关键插件vue-server-renderer。该插件本用于服务端渲染,但是在这里,我们主要利用它能够把.vue文件处理成html和css字符串的功能,来完成骨架屏的注入。
骨架屏注入
首先在public文件夹下新建一个template.html文件,并且其代码和index.html文件代码相同,但是需要在div#app中添加 占位符:
然后,我们还需要在根目录新建一个webpack.skeleton.conf.js文件,以专门用来进行骨架屏的构建。
可以看到,该配置文件和普通的配置文件基本完全一致,主要的区别在于其target: 'node',配置了externals,以及在plugins里面加入了VueSSRServerPlugin。在VueSSRServerPlugin中,指定了其输出的json文件名。然后通过运行下列指令,在/dist目录下生成一个skeleton.json文件: webpack --config ./webpack.skeleton.conf.js 接下来,在根目录下新建一个skeleton.js,该文件即将被用于往index.html内插入骨架屏:
接下来,只要运行 node skeleton.js ,就可以完成骨架屏的注入。 为了在 npm run serve 的时候自动完成骨架屏的注入,避免运行多次命令,需要在 package.json 中增加一条命令 "preserve": "webpack --config ./webpack.skeleton.conf.js && node skeleton.js" ,放在 "serve" 命令之前。
总结
新建template.html文件的目的是为了保存模板文件的干净,因为每次完成骨架屏的注入后index.html文件中的 占位符已经被骨架屏代码所替换,再次修改骨架屏后就无法完成骨架屏的注入啦,所以在注入骨架屏时先用template.html文件中的内容替换index.html文件,避免了每次修改骨架屏时还要手动修改index.html文件,运行一条命令实现骨架屏的自动注入。
免责声明:
本文《详解VUE单页应用骨架屏方案》版权归原作者所有,内容不代表本站立场!
如本文内容影响到您的合法权益(含文章中内容、图片等),请及时联系本站,我们会及时删除处理。
推荐阅读

微信群太多怎么实现分组管理
微信群太多可以使用折叠群的功能进行分组管理,将群设置为折叠群的具体操作步骤如下: 微信群太多怎么实现分组管理 1、打开微信app,点击下方的通讯录,再点击群聊进入群聊界面。 2、进入群聊界面后,选择...
阅读: 738

微信预约挂号怎样切换就诊人
以梧州市中医院公众号为例,在梧州市中医院微信公众号预约挂号切换就诊人的具体操作步骤如下: 微信预约挂号怎样切换就诊人 1、打开微信APP,搜索梧州市中医院公众号”,点击该公众号,再点击发消...
阅读: 716

快手别人怎么关注不了我
如果别人关注不了你的快手账号的话,可能是你开启了隐私用户”,关闭隐私账户”的具体操作方式如下: 快手别人怎么关注不了我 1、打开快手,点击左上角的三条横线”,进入功...
阅读: 749

微信一打就是对方忙是不是设置了
微信一打就是对方忙不是设置了,因为无法设置。打微信电话提示对方忙”有以下两种情况:1、对方在忙线,正在与别人打微信或者视频电话。2、对方不想接听电话,选择挂断。以下是拨打微信语音电话的具体...
阅读: 643

玩游戏微信不提示消息怎么设置
在玩游戏的时候,频繁的消息弹出会影响到游戏体验,玩游戏设置微信消息不提示的具体操作方式如下: 玩游戏微信不提示消息怎么设置 1、打开手机设置,找到并点击微信”,进入微信”界面。...
阅读: 746
热门文章
1.朋友圈动图怎么不动
- 1

- 朋友圈动图怎么不动
- 2022-12-28
- 1
2.拉黑了怎么加回来
- 2

- 拉黑了怎么加回来
- 2022-12-28
- 2
3.超话等级怎么快速升
- 3

- 超话等级怎么快速升
- 2022-12-28
- 3
4.支付宝买彩票在网上怎么买
- 4

- 支付宝买彩票在网上怎么买
- 2022-12-31
- 4
5.QQ等待验证是不是拉黑了
- 5

- QQ等待验证是不是拉黑了
- 2022-12-27
- 5
6.360隐私空间里面的照片怎么找回
- 6

- 360隐私空间里面的照片怎么找回
- 2022-12-27
- 6
7.支付宝提现免费额度在哪查询
- 7

- 支付宝提现免费额度在哪查询
- 2022-12-27
- 7
8.个人收款二维码去哪里制作
- 8

- 个人收款二维码去哪里制作
- 2022-12-27
- 8
9.怎么看微信绑定了几个账号
- 9

- 怎么看微信绑定了几个账号
- 2022-12-27
- 9
10.快手聚星怎么开通
- 10

- 快手聚星怎么开通
- 2022-12-27
- 10
最近更新

酷狗音乐中使用蝰蛇音效制作工具的具体操作方法
2024-11-11

win7电脑中出现声音图标不见了的具体解决方法
2024-11-11

车到哪app的详细软件介绍
2024-11-11

小米9se中查看序列号的具体操作方法
2024-11-11

迅雷中使用FTP探测器的详细操作方法
2024-11-11

ppt制作出小荷才露尖尖角动画场景的具体操作步骤
2024-11-11
