vue-cli 构建骨架屏的方法示例


Posted in Javascript onNovember 08, 2018

脚手架不说了,提前搭建好

然后安装 vue-skeleton-webpack-plugin

npm install vue-skeleton-webpack-plugin

创建文件 skeleton.js和skeleton.vue

skeleton.js

import Vue from 'vue'

import Skeleton from './Skeleton.vue'


export default new Vue({

components: {

Skeleton

},

template: '<skeleton />'

})

skeleton.vue

我的skeleton.vue不知为何<style>标签写在外部没有加载进去,故写到<template>内

样式和模板可以自己修改

<template>

<div class="skeleton-wrapper">
<style>
.skeleton {
padding: 10px;
}

.skeleton .skeleton-head,
.skeleton .skeleton-title,
.skeleton .skeleton-content-bottom,
.skeleton .skeleton-content {
background: rgba(194, 207, 214,.5);
background-image: linear-gradient(90deg,rgba(255, 255, 255, 0.15) 25%, transparent 25%);
background-size: 20rem 20rem;
animation: skeleton-stripes 1s linear infinite;
margin: 0 auto 30px;
text-align: center;
color: darkgray;
}

.skeleton-head {
width: 100px;
height: 60px;
float: left;
}

.skeleton-body {
margin-left: 110px;
}

.skeleton-title {
width: 90%;
height: 60px;
line-height: 60px;
}

.skeleton-content {
width: 60%;
height: 40px;
background: rgba(194, 207, 214,.3)!important;
}
.skeleton-content-bottom {
width: 40%;
height: 40px;
margin: 0 auto 30px 20%!important;
background: rgba(194, 207, 214,.3)!important;
}
@keyframes skeleton-stripes {
from {
background-position: 0 0 ;
}
to {
background-position: 20rem 0;
}
}

</style>
<header class="skeleton-header"></header>
<section class="skeleton-block">
<div class="skeleton">
<div class="skeleton-head"></div>
<div class="skeleton-body">
<div class="skeleton-title">加载中</div>
<div class="skeleton-content"></div>
<div class="skeleton-content-bottom"></div>
<div class="skeleton-content"></div>
<div class="skeleton-content-bottom"></div>
<div class="skeleton-content"></div>
<div class="skeleton-content-bottom"></div>
<div class="skeleton-content"></div>
<div class="skeleton-content-bottom"></div>
<div class="skeleton-content"></div>
</div>
</div>
</section>
</div>
</template>

<script>
export default {
name: 'skeleton'
}
</script>

在build 目录下创建 webpack.skeleton.conf.js

'use strict';

const path = require('path')
const merge = require('webpack-merge')
const baseWebpackConfig = require('./webpack.base.conf')
const nodeExternals = require('webpack-node-externals')

function resolve(dir) {
return path.join(__dirname, dir)
}

module.exports = merge(baseWebpackConfig, {
target: 'node',
devtool: false,
entry: {
//指向自己的skeleton.js路径
app: resolve('../src/renderer/skeleton/skeleton.js')
},
output: Object.assign({}, baseWebpackConfig.output, {
libraryTarget: 'commonjs2'
}),
externals: nodeExternals({
whitelist: /\.css$/
}),
plugins: []
})

大功告成

vue-skeleton-webpack-plugin 可以 使用多个 骨架屏 ,具体的可以查看官网地址: https://github.com/lavas-project/vue-skeleton-webpack-plugin

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
禁止JQuery中的load方法装载IE缓存中文件的方法
Sep 11 Javascript
javascript 面向对象编程 function也是类
Sep 17 Javascript
JavaScript执行效率与性能提升方案
Dec 21 Javascript
jQuery的slideToggle方法实例
May 07 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
Feb 25 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
Dec 24 Javascript
利用vscode调试编译后的js代码详解
May 14 Javascript
JS阻止事件冒泡的方法详解
Aug 26 Javascript
js实现点击图片在屏幕中间弹出放大效果
Sep 11 Javascript
vue中beforeRouteLeave实现页面回退不刷新的示例代码
Nov 01 Javascript
Vue常用传值方式、父传子、子传父及非父子实例分析
Feb 24 Javascript
解决vue props传Array/Object类型值,子组件报错的情况
Nov 07 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
Nov 08 #Javascript
详解在不使用ssr的情况下解决Vue单页面SEO问题
Nov 08 #Javascript
Vux+Axios拦截器增加loading的问题及实现方法
Nov 08 #Javascript
Angular设置别名alias的方法
Nov 08 #Javascript
vue-cli安装使用流程步骤详解
Nov 08 #Javascript
vue项目动态设置页面title及是否缓存页面的问题
Nov 08 #Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
Nov 08 #Javascript
You might like
PHP安装攻略:常见问题解答(一)
2006/10/09 PHP
让你的网站首页自动选择语言转跳
2006/12/06 PHP
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
Linux中用PHP判断程序运行状态的2个方法
2014/05/04 PHP
PHP常用的缓存技术汇总
2014/05/05 PHP
laravel实现上传图片并在页面显示的例子
2019/10/14 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
2021/02/22 PHP
Js nodeType 属性全面解析
2013/11/14 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
javascript 分号总结及详细介绍
2016/09/24 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
2018/03/19 Javascript
vue数据操作之点击事件实现num加减功能示例
2019/01/19 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
小程序实现密码输入框
2020/11/16 Javascript
[03:41]DOTA2上海特锦赛小组赛第三日recap精彩回顾
2016/02/28 DOTA
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
python比较两个列表大小的方法
2015/07/11 Python
python解决方案:WindowsError: [Error 2]
2016/08/28 Python
对Python闭包与延迟绑定的方法详解
2019/01/07 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
在python image 中安装中文字体的实现方法
2019/08/22 Python
Python OpenCV图像指定区域裁剪的实现
2019/10/30 Python
如何使用pandas读取txt文件中指定的列(有无标题)
2020/03/05 Python
python如何利用Mitmproxy抓包
2020/10/10 Python
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
自我鉴定怎么写
2013/12/05 职场文书
采购部主管岗位职责
2014/01/01 职场文书
高中毕业自我评价
2014/02/08 职场文书
酒店七夕情人节活动策划方案
2014/08/24 职场文书
政风行风评议个人心得体会
2014/10/29 职场文书
2015年女生节活动总结
2015/02/27 职场文书
关于JavaScript回调函数的深入理解
2021/06/27 Javascript