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 相关文章推荐
js静态方法与实例方法分析
Jul 04 Javascript
Jquery 点击按钮自动高亮实现原理及代码
Apr 25 Javascript
js实现a标签超链接提交form表单的方法
Jun 24 Javascript
Bootstrap源码解读下拉菜单(4)
Dec 23 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
Jan 26 Javascript
jQuery Form插件使用详解_动力节点Java学院整理
Jul 17 jQuery
vue使用监听实现全选反选功能
Jul 06 Javascript
vue1.0和vue2.0的watch监听事件写法详解
Sep 11 Javascript
vue 强制组件重新渲染(重置)的两种方案
Oct 29 Javascript
Vue前端项目部署IIS的实现
Jan 06 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
Sep 07 Javascript
原生js实现点击按钮复制内容到剪切板
Nov 19 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
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
php+js实现点赞功能的示例详解
2020/08/07 PHP
JavaScript 异步调用框架 (Part 2 - 用例设计)
2009/08/03 Javascript
JavaScript 学习笔记(十三)Dom创建表格
2010/01/21 Javascript
JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
2010/03/09 Javascript
基于PHP+Jquery制作的可编辑的表格的代码
2011/04/10 Javascript
Nodejs Post请求报socket hang up错误的解决办法
2014/09/25 NodeJs
angularJS提交表单(form)
2015/02/09 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
2015/09/05 Javascript
js获取及判断键盘按键的方法
2015/12/01 Javascript
jQuery异步提交表单的两种方式
2016/09/13 Javascript
JavaScript实现解析INI文件内容的方法
2016/11/17 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
vue实现侧边栏导航效果
2019/10/21 Javascript
Vue修改项目启动端口号方法
2019/11/07 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
vue实现点击出现操作弹出框的示例
2020/11/05 Javascript
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
python实现聊天小程序
2018/03/13 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
2018/12/02 Python
Python实现深度遍历和广度遍历的方法
2019/01/22 Python
Python中six模块基础用法
2019/12/08 Python
Python线程threading模块用法详解
2020/02/26 Python
keras中的backend.clip用法
2020/05/22 Python
python matplotlib库的基本使用
2020/09/23 Python
使用CSS3实现一个3D相册效果实例
2016/12/03 HTML / CSS
THE OUTNET美国官网:国际设计师品牌折扣网站
2017/03/07 全球购物
大学考试作弊检讨书
2014/01/30 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
男方婚前保证书
2015/02/28 职场文书
解约证明模板
2015/06/19 职场文书