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 相关文章推荐
javascript中sort() 方法使用详解
Aug 30 Javascript
js+css实现超简洁的二级下拉菜单效果代码
Sep 07 Javascript
利用Node.js+Koa框架实现前后端交互的方法
Feb 27 Javascript
微信小程序多张图片上传功能
Jun 07 Javascript
在vue.js中抽出公共代码的方法示例
Jun 08 Javascript
JavaScript闭包的简单应用
Sep 01 Javascript
使用JavaScript实现一个小程序之99乘法表
Sep 21 Javascript
vue项目实战总结篇
Feb 11 Javascript
file-loader打包图片文件时路径错误输出为[object-module]的解决方法
Jan 03 Javascript
使用js实现单链解决前端队列问题的方法
Feb 03 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
Jul 24 Javascript
jQuery实现鼠标拖动图片功能
Mar 04 jQuery
浅谈在不使用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写的小东西
2006/12/06 PHP
PHP基础教程(php入门基础教程)一些code代码
2013/01/06 PHP
php计算整个目录大小的方法
2015/06/19 PHP
php使用fullcalendar日历插件详解
2019/03/06 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
页面中body onload 和 window.onload 冲突的问题的解决
2009/07/01 Javascript
一个简单的全屏图片上下打开显示网页效果示例
2014/07/08 Javascript
jquery选择器简述
2015/08/31 Javascript
JavaScript动态创建div等元素实例讲解
2016/01/06 Javascript
html中鼠标滚轮事件onmousewheel的处理方法
2016/11/11 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
在vue项目中引用Iview的方法
2018/09/14 Javascript
webpack-url-loader 解决项目中图片打包路径问题
2019/02/15 Javascript
layui递归实现动态左侧菜单
2019/07/26 Javascript
Vue开发环境跨域访问问题
2020/01/22 Javascript
vue3.0封装轮播图组件的步骤
2021/03/04 Vue.js
[57:22]完美世界DOTA2联赛PWL S2 FTD vs PXG 第二场 11.27
2020/12/01 DOTA
用Python将IP地址在整型和字符串之间轻松转换
2017/03/22 Python
python写一个md5解密器示例
2018/02/23 Python
python socket网络编程之粘包问题详解
2018/04/28 Python
利用Python yagmail三行代码实现发送邮件
2018/05/11 Python
Python3 获取一大段文本之间两个关键字之间的内容方法
2018/10/11 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
兰蔻加拿大官方网站:Lancome加拿大
2016/08/05 全球购物
大学生职业生涯设计书
2014/01/02 职场文书
英文商务邀请信
2014/01/22 职场文书
数学系个人求职信范文
2014/01/30 职场文书
党的群众路线教育实践活动宣传方案
2014/02/23 职场文书
活动倡议书范文
2014/05/13 职场文书
旅游节目策划方案
2014/05/26 职场文书
环保标语大全
2014/06/12 职场文书
2015年工商局个人工作总结
2015/07/23 职场文书
Java SSH 秘钥连接mysql数据库的方法
2021/06/28 Java/Android