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实现读取txt文档的脚本
Jul 20 Javascript
各情景下元素宽高的获取实现代码
Sep 13 Javascript
AngularJS HTML编译器介绍
Dec 06 Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
Jan 25 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
Feb 20 Javascript
详解AngularJS ui-sref的简单使用
Apr 24 Javascript
兼容浏览器的js事件绑定函数(详解)
May 09 Javascript
详解Angular2 关于*ngFor 嵌套循环
May 22 Javascript
自制简易打赏功能的实例
Sep 02 Javascript
微信小程序实现的涂鸦功能示例【附源码下载】
Jan 12 Javascript
Vue加载json文件的方法简单示例
Jan 28 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
Jul 30 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文件操作的详解
2013/06/05 PHP
PHP中date与gmdate的区别及默认时区设置
2014/05/12 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
为Extjs加加速(javascript加速)
2010/08/19 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
对JavaScript中this指针的新理解分享
2015/01/31 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
BootStrap的Datepicker控件使用心得分享
2016/05/25 Javascript
js判断空对象的实例(超简单)
2016/07/26 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
JS中静态页面实现微信分享功能
2017/02/06 Javascript
关于使用axios的一些心得技巧分享
2017/07/02 Javascript
详解小程序不同页面之间通讯的解决方案
2018/11/23 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
selenium+java中用js来完成日期的修改
2019/10/31 Javascript
js实现鼠标拖拽div左右滑动
2020/01/15 Javascript
解决vue无法侦听数组及对象属性的变化问题
2020/07/17 Javascript
深入了解Vue动态组件和异步组件
2021/01/26 Vue.js
[00:34]DOTA2上海特级锦标赛 VG战队宣传片
2016/03/04 DOTA
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
python之信息加密题目详解
2019/06/26 Python
python面试题之列表声明实例分析
2019/07/08 Python
pytorch程序异常后删除占用的显存操作
2020/01/13 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
如何解决pycharm调试报错的问题
2020/08/06 Python
python 实现全球IP归属地查询工具
2020/12/18 Python
报告会主持词
2014/04/02 职场文书
企业趣味活动方案
2014/08/21 职场文书
如何使用vue3打造一个物料库
2021/05/08 Vue.js
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server
box-shadow单边阴影的实现
2023/05/21 HTML / CSS