国产精品爱久久久久久久小说,女人扒开腿让男人桶到爽 ,亚洲欧美国产双大乳头,国产成人精品综合久久久久,国产精品制服丝袜无码,免费无码精品黄av电影,黑色丝袜无码中中文字幕,乱熟女高潮一区二区在线

    Vue移動(dòng)端項(xiàng)目?jī)?yōu)化過程

    2020-3-15    前端達(dá)人

    文章目錄

    前言

    一、白屏?xí)r間過長(zhǎng)分析

    二、針對(duì)性優(yōu)化

    針對(duì)animate.css

    針對(duì)mint-ui的優(yōu)化

    針對(duì)圖片的優(yōu)化

    三、webpack打包優(yōu)化與分析

    webpack-bundle-analyzer打包分析

    打包優(yōu)化

    四、優(yōu)化后線上測(cè)試速度提升

    五、優(yōu)化總結(jié)

    前言

    最近在做項(xiàng)目時(shí),測(cè)試提出了在App端的H5項(xiàng)目入口加載時(shí)間過長(zhǎng),白屏等待過久,需要優(yōu)化的問題,于是著手開始分析:



    項(xiàng)目技術(shù)棧:基于Vue全家桶做的一個(gè)移動(dòng)端類似WebApp的項(xiàng)目,使用到的第三方庫(kù)有:mint-ui, echarts,momentjs。

    項(xiàng)目痛點(diǎn):白屏?xí)r間過長(zhǎng)

    一、白屏?xí)r間過長(zhǎng)分析

     通過訪問線上環(huán)境,結(jié)合Chrome devtool中Network和Performance功能可以具體分析整個(gè)白屏的耗時(shí)主要在哪一塊兒

    Network耗時(shí)記錄:

    點(diǎn)擊查看原圖

    Performance性能面板

    點(diǎn)擊查看原圖

    通過上面兩張圖分析,從瀏覽器發(fā)起請(qǐng)求到解析HTML完成這一過程中:
    animate.css, mini-ui.css的請(qǐng)求耗時(shí)最長(zhǎng)。
    圖片過大耗時(shí)。
    二、針對(duì)性優(yōu)化
    針對(duì)animate.css
    animate.css由于使用的是第三方CDN(國(guó)外服務(wù)器)所有請(qǐng)求時(shí)間相對(duì)較長(zhǎng),所以如果必須要用animate.css那么可以下載下來(lái)作為本地資源,也可以使用國(guó)內(nèi)CDN,或者不用animate.css,而是針對(duì)使用到的幾個(gè)CSS動(dòng)畫,直接自己造輪子
    針對(duì)mint-ui的優(yōu)化
    由于mint-ui在原項(xiàng)目中使用的是全局引用的方式,這才導(dǎo)致打包資源過大,css單獨(dú)請(qǐng)求耗時(shí)過長(zhǎng)的問題,所以主要解決方案是按需引入mint-ui,借助 babel-plugin-component,我們可以只引入需要的組件,以達(dá)到減小項(xiàng)目體積的目的。

    安裝babel-plugin-component, 若已安裝可忽略
    修改 .babelrc (重點(diǎn)在plugins中):


    {
      "presets": [
        ["env", { "modules": false }],
        "stage-2"
      ],
      "plugins": ["transform-runtime",["component", [
          {
              "libraryName": "mint-ui",
              "style": true
          }
      ]]],
      "comments": false,
      "env": {
        "test": {
          "presets": ["env", "stage-2"],
          "plugins": [ "istanbul" ]
        }
      }
    }
    


    在main.js中引用使用到的插件


    import Vue from 'vue'
    import { Button, Cell } from 'mint-ui'
    import 'mint-ui/lib/style.min.css'  // 引用CSS
    import App from './App.vue'
    
    Vue.component(Button.name, Button)
    Vue.component(Cell.name, Cell)
    /* 或?qū)憺? * Vue.use(Button)
     * Vue.use(Cell)
     */
    
    new Vue({
      el: '#app',
      components: { App }
    })
    


    在使用的組件中改為按需引用組件


    import Vue from 'vue'
     var Popup = Vue.component('mt-popup')
     var Swipe = Vue.component('mt-swipe')
     var SwipeItem = Vue.component('mt-swipe-item')
     export default {
        name:'my-component',
        components:{
         Popup,
         Swipe,
         SwipeItem
        }
    }
    

    此按需引入方案也同樣適用于其他第三方UI組件庫(kù)



    針對(duì)圖片的優(yōu)化

    圖片小圖通過webpack可以直接轉(zhuǎn)為base64,而大圖可以通過壓縮或者換格式的方式來(lái)優(yōu)化,這里推薦一個(gè)好用的圖片壓縮工具,工具:tinyPNG,如下是圖片轉(zhuǎn)換前后對(duì)比


    點(diǎn)擊查看原圖


    三、webpack打包優(yōu)化與分析

    在完成了上述優(yōu)化以后,下面著重關(guān)注下webpack打包后生成的文件大小,看還有沒有可以優(yōu)化的余地。由于項(xiàng)目中已經(jīng)通過路由按需加載的方式來(lái)做了功能拆分,所以通過webpack打包后生成了很多分散的js文件,如下圖:


    20200313153537713.png

    通過上圖分析可以知道打包后有幾個(gè)文件相對(duì)較大,vendor.js都知道是第三方庫(kù)文件打包形成,之前通過mint-ui按需加載會(huì)有一定的變化,后面記錄。這里著重看另兩個(gè)帶hash的js文件,這里并看不出來(lái)它為什么這么大,所以這里需要用到webpack打包分析工具來(lái)做進(jìn)一步的打包文件分析:webpack-bundle-analyzer

    webpack-bundle-analyzer打包分析

    它的作用如下圖,即在打包后生成打包文件大小分析圖,方便我們更加直觀的看到文件大小和引用情況

    點(diǎn)擊查看原圖



    • 這里先介紹下webpack-bundle-analyzer的簡(jiǎn)單使用
    1. 安裝
    npm intall -D webpack-bundle-analyzer
    1. 修改webpack.pro.conf.js. (這里由于只是用于生產(chǎn)打包分析且是通過vue-cli生成的項(xiàng)目框架)
    var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
    
    module.exports = {
        // ...
        plugins:[
            new BundleAnalyzerPlugin()
        ]
    }
    

    運(yùn)行npm run build,(webpack默認(rèn)會(huì)在打包完成時(shí)生成分析圖)



    版權(quán)聲明:本文為CSDN博主「Sophie_U」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
    原文鏈接:https://blog.csdn.net/Sophie_U/article/details/104840167

    日歷

    鏈接

    個(gè)人資料

    存檔

    主站蜘蛛池模板: 国产香蕉尹人综合在线观看| 婷婷综合五月| 男生和女生差差视频| 久久精品人人做人人综合| 很黄很黄的曰批视频| 亚洲欧美日韩一区二区三区四区| 亚洲一区二区三区久久久| 亚洲精品tv久久久久久久久久| 人妻无码免费一区二区三区| 自拍偷拍欧美日韩| 亚洲国产中文字幕在线视频综合| 国产精品无码a∨果冻传媒| 亚洲精品中文幕一区二区| 奇米影视第四色首页| 神马视频| 蜜臀av国产一区二区三区| 久久久久久久久久久久久久久久久久| 97人妻精品一区二区三区免费 | 久久午夜无码免费| 日本最新免费二区| 激情综合一区二区迷情校园| 男人和女人日批视频| 日韩人妻系列无码专区| 久久天天躁夜夜躁狠狠i女人| 97se狠狠狠狼鲁亚洲综合网| 中文字幕丰满人伦在线| 国产精品视频免费一区二区三区| 香港三级午夜理伦三级| 日产精品一区2区卡四卡二卡| 精品国产va久久久久久久| 森泽佳奈作品在线观看| 欧美日韩国产精品自在自线| 美丽人妻被按摩中出中文字幕| 97国产精品人人爽人人做| 色婷婷yy| 午夜裸体性播放| 看成年全黄大色黄大片| 日本色站| 精品无码国产污污污免费网站| 日韩不卡手机视频在线观看 | 91色网站|