一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - vue.js - Vue SPA 首屏優化方案

Vue SPA 首屏優化方案

2022-01-24 16:45小豪看世界 vue.js

這篇文章主要介紹了Vue SPA 首屏優化方案的的相關資料,幫助大家更好的理解和學習使用vue,感興趣的朋友可以了解下

前言

常規 vue 項目打包后訪問,返回一個只包含 div 的 html,其他內容塊都是通過 js 動態生成的。

Vue SPA 首屏優化方案

存在兩個比較大的問題:

  • 不利于 seo
  • 首屏加載頁慢,用戶體驗不好

本文是自己根據項目經驗總結的方案,如有不足,歡迎指出~

 

優化

SSR

SSR(Server-Side Rendering) 即服務端渲染,把 vue 組件在服務器端渲染為組裝好的 HTML 字符串,然后將它們直接發送到瀏覽器,最后需要將這些靜態標記混合在客戶端上完全可交互的應用程序。
使用 ssr 重新部署構建項目后:

Vue SPA 首屏優化方案

可以看到返回的內容就已經包含了首屏內容的 html 代碼塊,perfect!~.~

極速傳送門: 基于vue-cli4.0+Typescript+SSR的小Demo

 

按需引入

使用 es6 module 進行按需引入

1. 路由文件中按需引入組件

# router.index.ts
export function createRouter() {
return new Router({
mode: 'history',
routes: [
{
path: '/',
name: 'Home',
component: () => import(/* webpackChunkName: "Home" */ './views/Home.vue'),
},
{
path: '/about',
name: 'About',
component: () => import(/* webpackChunkName: "about" */ './views/About.vue'),
},
],
});
}

2. 靜態庫按需引入模塊,而不是全部

如 element-ui 庫中,我只想用 button 組件 :

import {
button
} from 'element-ui';

 

請求優化

1. css、js 放置順序

css 文件放 header 中,js 文件放 body前,不過 vue 已經幫我們處理好了~

2. 使用字體圖標,icon 資源使用雪碧圖

我們知道 http 建立一次連接需要 3 次握手,太多的請求會影響加載速度

對不必要的靜態資源我們應該盡量減少,比如頁面中的 icon 圖標,如下騰訊官網的一個圖片:

Vue SPA 首屏優化方案

直接引入一張完成的圖片,根據 background-position 來設置圖片的位置

 

使用CDN

靜態資源都上傳到 CDN,提高訪問速度

不使用 CDN:

Vue SPA 首屏優化方案

使用 CDN:

可以看到使用 CDN后,會對靜態文件進行 GZIP 壓縮, 下載度度極大的提高

Vue SPA 首屏優化方案

 

入口 chunk 優化

拆分入口 chunk 文件,分離出一些靜態的庫,既可以加速打包,也可以優化加載。

如下,分離了一些靜態庫:vuejs、axios、vuex等,可以看到瀏覽器將開啟多個下載線程進行下載。若沒有分離這些靜態庫,入口 chunk 將十分巨大,加載速度可想而知~.~

Vue SPA 首屏優化方案

分離一個 element-ui 庫,dev 環境我們不用管,prod 環境下我們才分離,只需要在 vue 打包配置中移除該庫即可:

# vue.config.js
configureWebpack: {
externals:
process.env.NODE_ENV === 'production'
? {
'element-ui': 'element-ui',
}
: undefined,
},

# index.html 手動引入靜態資源
<script src="/js/element-ui/element-ui.2.11.1.js"></script>

以上就是Vue SPA 首屏優化方案的詳細內容,更多關于Vue SPA 首屏優化的資料請關注服務器之家其它相關文章!

原文鏈接:https://segmentfault.com/a/1190000039275259

延伸 · 閱讀

精彩推薦
  • vue.jsVue2.x-使用防抖以及節流的示例

    Vue2.x-使用防抖以及節流的示例

    這篇文章主要介紹了Vue2.x-使用防抖以及節流的示例,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下...

    Kyara6372022-01-25
  • vue.js詳解vue 表單綁定與組件

    詳解vue 表單綁定與組件

    這篇文章主要介紹了vue 表單綁定與組件的相關資料,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下...

    Latteitcjz6432022-02-12
  • vue.jsVue中引入svg圖標的兩種方式

    Vue中引入svg圖標的兩種方式

    這篇文章主要給大家介紹了關于Vue中引入svg圖標的兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的...

    十里不故夢10222021-12-31
  • vue.jsVue多選列表組件深入詳解

    Vue多選列表組件深入詳解

    這篇文章主要介紹了Vue多選列表組件深入詳解,這個是vue的基本組件,有需要的同學可以研究下...

    yukiwu6752022-01-25
  • vue.js梳理一下vue中的生命周期

    梳理一下vue中的生命周期

    看過很多人講vue的生命周期,但總是被繞的云里霧里,尤其是自學的同學,可能js的基礎也不是太牢固,聽起來更是吃力,那我就已個人之淺見,以大白話...

    CRMEB技術團隊7992021-12-22
  • vue.js用vite搭建vue3應用的實現方法

    用vite搭建vue3應用的實現方法

    這篇文章主要介紹了用vite搭建vue3應用的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下...

    Asiter7912022-01-22
  • vue.jsVue項目中實現帶參跳轉功能

    Vue項目中實現帶參跳轉功能

    最近做了一個手機端系統,其中遇到了父頁面需要攜帶參數跳轉至子頁面的問題,現已解決,下面分享一下實現過程,感興趣的朋友一起看看吧...

    YiluRen丶4302022-03-03
  • vue.jsVue2.x 項目性能優化之代碼優化的實現

    Vue2.x 項目性能優化之代碼優化的實現

    這篇文章主要介紹了Vue2.x 項目性能優化之代碼優化的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋...

    優小U9632022-02-21
主站蜘蛛池模板: 日本中文字幕永久在线 | aa一级护士医生毛片 | 免费一级毛片在线播放 | 91天堂素人 | 国产成人免费高清激情视频 | 天美传媒影视在线免费观看 | 包臀裙女教师波多野结衣 | 日本女人www | 色中文| 色色色资源站 | 四虎成人影院 | 91制片厂制作传媒破解版免费 | 99热免费在线 | 2014天堂| 久久婷婷五月综合色丁香花 | 日韩精品久久不卡中文字幕 | 色亚州 | tobu8中国在线播放免费 | 久久精品久久久 | 日韩中文字幕视频在线观看 | 福利国模私拍视频在线观看 | 私人影院在线播放 | 免费在线中文字幕 | 久久高清一级毛片 | 久久久久久久久女黄 | 免费看一区二区三区 | 欧美日韩亚洲综合在线一区二区 | 欧美成人日韩 | 亚洲a区视频 | 肉浦团在线观看 | 国产人妖xxxxx免费看 | 亚洲国产成人久久精品hezyo | 日韩成人在线网站 | 欧美精品综合一区二区三区 | 王晶经典三级 | 门房秦大爷最新章节阅读 | 精品区2区3区4区产品乱码9 | 免费在线观看中文字幕 | 四虎影视永久免费视频观看 | 亚洲AV无码国产精品色午夜情 | 蜜桃久久久亚洲精品成人 |