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 相关文章推荐
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
Sep 22 Javascript
解放web程序员的输入验证
Oct 06 Javascript
tbody元素支持嵌套的注意方法
Mar 24 Javascript
jQuery插件开发全解析
Oct 10 Javascript
JQuery结合CSS操作打印样式的方法
Dec 24 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
Jan 22 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
Feb 26 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
May 31 Javascript
JS实现DIV高度自适应窗口示例
Feb 16 Javascript
vue2.0 datepicker使用方法
Feb 04 Javascript
angular6.0使用教程之父组件通过url传递id给子组件的方法
Jun 30 Javascript
JS中如何轻松遍历对象属性的方式总结
Aug 06 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
2020年4月新番动漫目录 官方宣布4月播出的作品一览
2020/03/08 日漫
PHP中实现进程间通讯
2006/10/09 PHP
分享PHP函数实现数字与文字分页代码
2015/07/28 PHP
thinkPHP中验证码的简单使用方法
2015/12/26 PHP
javaScript函数中执行C#代码中的函数方法总结
2013/08/07 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战一)
2013/08/21 Javascript
javascript表单验证和Window详解
2014/12/11 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
Jquery常用的方法汇总
2015/09/01 Javascript
结合代码图文讲解JavaScript中的作用域与作用域链
2016/07/05 Javascript
Vue之Vue.set动态新增对象属性方法
2018/02/23 Javascript
node结合swig渲染摸板的方法
2018/04/11 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
[03:40]DOTA2抗疫特别篇《英雄年代》
2020/02/28 DOTA
Python ftp上传文件
2016/02/13 Python
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
Django权限设置及验证方式
2020/05/13 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
如何创建一个Flask项目并进行简单配置
2020/11/18 Python
倩碧美国官网:Clinique美国
2016/07/20 全球购物
Perry Ellis官网:美国男士品味服装
2016/12/09 全球购物
西班牙最大的婴儿用品网上商店:Bebitus
2019/05/30 全球购物
印尼购物网站:iLOTTE
2019/10/16 全球购物
一些Solaris面试题
2013/03/22 面试题
商务日语毕业生自荐信
2013/11/23 职场文书
房屋改造计划书
2014/01/10 职场文书
黄河的主人教学反思
2014/02/07 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
党员群众路线个人整改措施思想汇报
2014/10/12 职场文书
土木工程毕业答辩开场白
2015/05/29 职场文书
实施意见格式范本
2015/06/05 职场文书
党员证明信
2015/06/19 职场文书
Python time库的时间时钟处理
2021/05/02 Python
Vue3中toRef与toRefs的区别
2022/03/24 Vue.js
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS