午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Vue SPA 首屏優(yōu)化方案

瀏覽:12日期:2022-10-04 15:06:08
前言

常規(guī) vue 項(xiàng)目打包后訪問(wèn),返回一個(gè)只包含 div 的 html,其他內(nèi)容塊都是通過(guò) js 動(dòng)態(tài)生成的。

Vue SPA 首屏優(yōu)化方案

存在兩個(gè)比較大的問(wèn)題:

不利于 seo 首屏加載頁(yè)慢,用戶體驗(yàn)不好

本文是自己根據(jù)項(xiàng)目經(jīng)驗(yàn)總結(jié)的方案,如有不足,歡迎指出~

優(yōu)化SSR

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

Vue SPA 首屏優(yōu)化方案

可以看到返回的內(nèi)容就已經(jīng)包含了首屏內(nèi)容的 html 代碼塊,perfect!~.~

極速傳送門(mén): 基于vue-cli4.0+Typescript+SSR的小Demo

按需引入

使用 es6 module 進(jìn)行按需引入

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

# router.index.tsexport 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. 靜態(tài)庫(kù)按需引入模塊,而不是全部

如 element-ui 庫(kù)中,我只想用 button 組件 :

import { button} from ’element-ui’;請(qǐng)求優(yōu)化1. css、js 放置順序

css 文件放 header 中,js 文件放 body前,不過(guò) vue 已經(jīng)幫我們處理好了~

2. 使用字體圖標(biāo),icon 資源使用雪碧圖

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

對(duì)不必要的靜態(tài)資源我們應(yīng)該盡量減少,比如頁(yè)面中的 icon 圖標(biāo),如下騰訊官網(wǎng)的一個(gè)圖片:

Vue SPA 首屏優(yōu)化方案

直接引入一張完成的圖片,根據(jù) background-position 來(lái)設(shè)置圖片的位置

使用CDN

靜態(tài)資源都上傳到 CDN,提高訪問(wèn)速度

不使用 CDN:

Vue SPA 首屏優(yōu)化方案

使用 CDN:

可以看到使用 CDN后,會(huì)對(duì)靜態(tài)文件進(jìn)行 GZIP 壓縮, 下載度度極大的提高

Vue SPA 首屏優(yōu)化方案

入口 chunk 優(yōu)化

拆分入口 chunk 文件,分離出一些靜態(tài)的庫(kù),既可以加速打包,也可以優(yōu)化加載。

如下,分離了一些靜態(tài)庫(kù):vuejs、axios、vuex等,可以看到瀏覽器將開(kāi)啟多個(gè)下載線程進(jìn)行下載。若沒(méi)有分離這些靜態(tài)庫(kù),入口 chunk 將十分巨大,加載速度可想而知~.~

Vue SPA 首屏優(yōu)化方案

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

# vue.config.jsconfigureWebpack: { externals: process.env.NODE_ENV === ’production’ ? { ’element-ui’: ’element-ui’, } : undefined,},# index.html 手動(dòng)引入靜態(tài)資源<script src='http://www.leifengta.com.cn/js/element-ui/element-ui.2.11.1.js'></script>

以上就是Vue SPA 首屏優(yōu)化方案的詳細(xì)內(nèi)容,更多關(guān)于Vue SPA 首屏優(yōu)化的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 亚洲视频一二区 | 五月婷婷社区 | 欧美成人女星 | 精品久久久久一区二区国产 | 成人福利视频 | 黄色大片网站 | www婷婷 | 亚洲成人一区二区三区 | 中文字字幕在线中文 | 国产精品va| 久久观看最新视频 | 午夜影院一区二区 | 色综合久久88色综合天天 | av亚洲在线 | 97精品一区二区 | 国产高清视频 | 午夜av毛片 | 亚洲高清在线观看视频 | av综合导航 | 久久久久久久久久国产 | 麻豆chinese新婚xxx | 日韩天天干 | 国产在线网址 | 影音先锋黄色网址 | 在线亚洲观看 | 四虎精品在线观看 | 性国产视频 | 中文日韩字幕 | 狠狠综合 | 欧美片一区二区三区 | 精品一区国产 | www日本高清视频 | 青青草视频成人 | 国产精品九九 | 天天av网| 精品国产乱码久久久久久蜜臀网站 | 亚洲国产91 | 欧美精品一二三四区 | 国产一在线 | 欧美韩日国产 | 欧美日韩网 |