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 相关文章推荐
学习YUI.Ext 第三天
Mar 10 Javascript
javascript 一个函数对同一元素的多个事件响应
Jul 25 Javascript
js实现点击注册按钮开始读秒倒计时的小例子
May 11 Javascript
js格式化时间小结
Nov 03 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
Aug 07 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
Aug 02 Javascript
Vue结合原生js实现自定义组件自动生成示例
Jan 21 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
Mar 21 Javascript
angular5 httpclient的示例实战
Mar 12 Javascript
ng-alain表单使用方式详解
Jul 10 Javascript
JavaScript cookie原理及使用实例
May 08 Javascript
js实现验证码功能
Jul 24 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中将汉字转换成拼音的函数代码
2012/09/08 PHP
php获取YouTube视频信息的方法
2015/02/11 PHP
PHP实现动态柱状图改进版
2015/03/30 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
PHP添加图片水印、压缩、剪切的封装类
2015/08/17 PHP
php实现数组重复数字统计实例
2018/09/30 PHP
单击按钮显示隐藏子菜单经典案例
2013/01/04 Javascript
jquery清空textarea等输入框实现代码
2013/04/22 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
2015/08/23 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
关于vue.js v-bind 的一些理解和思考
2017/06/06 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
浅谈vuepress 踩坑记
2018/04/18 Javascript
JavaScript中常见内置函数用法示例
2018/05/14 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
2019/04/23 Javascript
javascript中undefined的本质解析
2019/07/31 Javascript
layui自己添加图片按钮并点击跳转页面的例子
2019/09/14 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
python爬虫常用的模块分析
2014/08/29 Python
Python实现字符串匹配算法代码示例
2017/12/05 Python
python中字符串的操作方法大全
2018/06/03 Python
Python for循环中的陷阱详解
2018/07/13 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
Pymysql实现往表中插入数据过程解析
2020/06/02 Python
Microsoft新加坡官方网站:购买微软最新软件和技术产品
2016/10/28 全球购物
小班重阳节活动方案
2014/02/08 职场文书
机关作风建设自查报告
2014/10/22 职场文书
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏