vue-cli 构建骨架屏的方法示例

 更新时间:2018-11-08 19:00:32   作者:佚名   我要评论(0)

脚手架不说了,提前搭建好
然后安装 vue-skeleton-webpack-plugin


npm install vue-skeleton-webpack-plugin

创建文件 skeleton.js和skeleton.vue
skeleto

脚手架不说了,提前搭建好

然后安装 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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

  • Vue页面骨架屏的实现方法
  • Vue页面骨架屏注入方法
  • 关于Vue单页面骨架屏实践记录

相关文章

  • vue-cli 构建骨架屏的方法示例

    vue-cli 构建骨架屏的方法示例

    脚手架不说了,提前搭建好 然后安装 vue-skeleton-webpack-plugin npm install vue-skeleton-webpack-plugin 创建文件 skeleton.js和skeleton.vue skeleto
    2018-11-08
  • 易语言显示与隐藏窗口的方法

    易语言显示与隐藏窗口的方法

    被显示事件 语法: 无返回值 _窗口_被显示 () 当窗口被显示时产生此事件。 被隐藏事件 当窗口被隐藏时产生此事件。 语法: 无返回值 _窗口_被隐藏 () 所
    2018-11-08
  • mysql全文模糊搜索MATCH AGAINST方法示例

    mysql全文模糊搜索MATCH AGAINST方法示例

    mysql 4.x以上提供了全文检索支持 MATCH ……AGAINST 模式(不区分大小写) 建立全文索引的表的存储引擎类型必须为MyISAM 问题是match against对中文模糊搜索
    2018-11-08
  • 易语言更改编辑框的边框样式

    易语言更改编辑框的边框样式

    边框属性 所属对象:编辑框 操作系统支持:Windows 数据类型:整数型; 可供选择的属性值: 0、无边框 1、凹入式 2、凸出式 3、浅凹入式 4、镜框
    2018-11-08
  • 浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)

    浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)

    上一篇说了vue单页面解决解决SEO的问题 只是用php预处理了meta标签 但是依然没有内容填充,所以对于内容抓取依然有些乏力,只是解决了从无到有的问题
    2018-11-08
  • python微元法计算函数曲线长度的方法

    python微元法计算函数曲线长度的方法

    计算曲线长度,根据线积分公式: ,令积分函数 f(x,y,z) 为1,即计算曲线的长度,将其微元化: 其中 根据此时便可在python编程实现,给出4个例子,代码中已
    2018-11-08
  • vue.js层叠轮播效果的实例代码

    vue.js层叠轮播效果的实例代码

    最近写公司项目有涉及到轮播banner,一般的ui框架无法满足产品需求;所以自己写了一个层叠式轮播组件;现在分享给大家; 主要技术栈是vue.js ;javascript;jqu
    2018-11-08
  • 易语言改变编辑框背景颜色的方法

    易语言改变编辑框背景颜色的方法

    背景颜色属性 所属对象:编辑框 操作系统支持:Windows 数据类型:整数型; 例程 说明 本属性用于取得和更改编辑框的背景颜色。 运行结果: 总结 以上就是
    2018-11-08
  • 易语言更改编辑框中文字颜色的方法

    易语言更改编辑框中文字颜色的方法

    文本颜色属性 所属对象:编辑框 操作系统支持:Windows 数据类型:整数型; 例程 说明 本属性用于更改和获取编辑框中文字的颜色。 运行结果: 总结 以上就
    2018-11-08
  • 解决Vue在封装了Axios后手动刷新页面拦截器无效的问题

    解决Vue在封装了Axios后手动刷新页面拦截器无效的问题

    项目类型:vue+vux+axios 刚开始,把Axios封装在了http.js文件里面,然后为了使用VUX的提示框消息,把拦截器直接写在了main.js里面。直接调用接口,一切正常。
    2018-11-08

最新评论