zoukankan      html  css  js  c++  java
  • vue 页面骨架屏 尼古拉斯

    骨架屏的意思就是,在页面数据没有渲染完成之前,把页面的答题框架展示出来,解决白屏问题,提升用户体验

    骨架屏实现方式有三种:

    一、图片代替:不灵活,且图片加载也是需要时间的,不推荐

    二、页面结构写死:不灵活,不能复用,如果多个页面需要用到,得写多个,不推荐

    三、通过webpack配置:可灵活配置,可复用,推荐(本篇讲解)

    1、安装两个插件 

      npm install vue-skeleton-webpack-plugin

      npm install vue-server-renderer

    2、在src/components文件夹下新建一个 skeleton 文件夹,skeleton文件下新建

      skeleton-entry.js (入口配置文件)

      

       Skeleton.vue (骨架结构文件)样式随你写,不再多说

      

    3、根目录新建webpack配置文件 vue.config.js

     1 const SkeletonWebpackPlugin = require('vue-skeleton-webpack-plugin');
     2 const path = require('path')
     3 module.exports = {
     4     publicPath:'./',
     5  
     6     chainWebpack: config => {
     7         // 其他配置
     8         config.entry('main').add('babel-polyfill') // main是入口js文件
     9         // 其他配置
    10     },
    11      css: {
    12          extract: true, // css拆分ExtractTextPlugin插件,默认true - 骨架屏需要为true
    13      },
    14     lintOnSave: false,
    15     configureWebpack: (config) => {
    16         // vue骨架屏插件配置
    17         config.plugins.push(new SkeletonWebpackPlugin({
    18             webpackConfig: {
    19                 entry: {
    20                     app: path.join(__dirname, './src/components/skeleton/skeleton-entry.js'),
    21                 },
    22             },
    23             minimize: true,
    24             quiet: true,
    25             router:{
    26                 mode:'hash',
    27                 routes:[
    28                     { path: '/', skeletonId: 'skeleton' }
    29                     // { path: 'aboute', skeletonId: 'skeleton1' },如果需要配置多个,直接在routes下新增路由对象即可
    30                 ]
    31             }
    32         }))
    33     },
    34 };

    完整项目结构:

    OK,骨架屏完成

  • 相关阅读:
    MySQL数据库索引相关
    springMVC架构说明
    @responseBody注解的使用
    springMVC配置
    17_10_31 ./ ../ / ~/
    Nginx的简单操作
    MySQL中sql语句的优化
    Mac下Redis的简单操作
    github下载与安装(windows版)
    结合工程实践选题调研分析3个同类软件产品
  • 原文地址:https://www.cnblogs.com/xxflz/p/15559835.html
Copyright © 2011-2022 走看看