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插件之多图片异步上传
Oct 20 Javascript
window.opener用法和用途实例介绍
Aug 19 Javascript
javascript阻止scroll事件多次执行的思路及实现
Nov 08 Javascript
用jQuery模拟select下拉框的简单示例代码
Jan 26 Javascript
javascript对中文按照拼音排序代码
Aug 20 Javascript
逻辑表达式中与或非的用法详解
Jun 06 Javascript
vue2.0实战之基础入门(1)
Mar 27 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
Apr 05 Javascript
React Native验证码倒计时工具类分享
Oct 24 Javascript
vue 配置多页面应用的示例代码
Oct 22 Javascript
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 Javascript
vue 自定义组件的写法与用法详解
Mar 04 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 file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
PHP中防止直接访问或查看或下载config.php文件的方法
2012/07/07 PHP
提升PHP性能的21种方法介绍
2013/06/25 PHP
php中Array2xml类实现数组转化成XML实例
2014/12/08 PHP
Thinkphp连表查询及数据导出方法示例
2016/10/15 PHP
基于php双引号中访问数组元素报错的解决方法
2018/02/01 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
JavaScript 继承机制的实现(待续)
2010/05/18 Javascript
对Jquery中的ajax再封装,简化操作示例
2014/02/12 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
javascript格式化日期时间方法汇总
2015/06/19 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
使用rollup打包JS的方法步骤
2018/12/05 Javascript
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
Vue项目history模式下微信分享爬坑总结
2019/03/29 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
java和js实现的洗牌小程序
2019/09/30 Javascript
Python实现的多线程http压力测试代码
2017/02/08 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
2018/02/23 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
2018/09/17 Python
学生信息管理系统Python面向对象版
2019/01/30 Python
Python 3.6 -win64环境安装PIL模块的教程
2019/06/20 Python
python中struct模块之字节型数据的处理方法
2019/08/27 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
详解Python IO口多路复用
2020/06/17 Python
Banana Republic英国官网:香蕉共和国,GAP集团旗下偏贵族风
2018/04/24 全球购物
Python文件操作的面试题
2013/06/22 面试题
委托书模板
2014/04/04 职场文书
辩论会主持词
2015/07/03 职场文书
小学运动会前导词
2015/07/20 职场文书
2016年9月份红领巾广播稿
2015/12/21 职场文书
IDEA 链接Mysql数据库并执行查询操作的完整代码
2021/05/20 MySQL
python中的plt.cm.Paired用法说明
2021/05/31 Python
MySQL限制查询和数据排序介绍
2022/03/25 MySQL