nginx加载图片慢_优化vue项目的首屏加载速度
? ? ?最近使用vue-cli3構建了一個小型的博客系統,完工之后,build打包出來發現一個chunk-vendors包就有1.1m,部署上去之后,訪問的時候,首屏加載非常慢。居然需要21s,體驗極差。
這是打包的結果截圖
根據這種情況,進行了一下優化:
一、路由懶加載
? ? ? ?結合Vue的異步組件再結合webpack的代碼分割,我們可以輕松的實現路由懶加載。路由懶加載的實現有幾種方法,這里我就使用了 resolve。
? ? ? 這一種方法較常見。它主要是使用了 resolve?的異步機制,用 require?代替了
import,實現按需加載。如下:
修改router./index.js文件之前
?修改之后
進行一次打包 npm run build:
發現打包的結果有了變化,對比一下開始時候的的chunk-vendors,體積減小了大概700k,但是還是太大了。需要繼續優化。
二、服務器開啟Gzip
? ? ? Gzip是GNU zip的縮寫,是一種壓縮技術。它將瀏覽器請求的文件先在服務器端進行壓縮,然后傳遞給瀏覽器,瀏覽器解壓之后再進行頁面的解析工作。在服務端開啟Gzip支持后,我們前端需要提供資源壓縮包。
? ? ??通過?CompressionWebpackPlugin插件進行打包的時候壓縮
安裝插件?cnpm i --save compression-webpack-plugin
? 修改vue.config.js文件:
打包效果如圖:
看到 Gzipped那一列,發現Gzip已經把文件減少了2/3了。
接下來,就是需要開啟一下服務端的Gzip
修改nginx.conf配置文件:(一般在? /etc/nginx/ngin.conf)
找到該文件,配置如下:
修改之后,別忘了重啟一下nginx, 進入帶nginx的安裝目錄下(一般在:/usr/sbin),執行 ./nginx -s reload。
到了這一步,gzip基本已經優化完成。
讓我們來繼續優化
三 、去除console來減少文件大小
? 安裝?uglifyjs-webpack-plugin
cnpm install uglifyjs-webpack-plugin --save-dev
配置vue.config.js:
如果代碼中有很多log,優化就會很明顯了。
上面三種就是我使用的首屏加載優化的方法,讓我們放到服務器上面看下效果
可以發現,相比之前的首屏加載速度還是提升了不少的。
小結
以上就是我使用的三種首屏優化方式,當然,首屏優化方式還不止這些,還可以用到的方法有:靜態資源、不常用改動的js庫可以使用CDN加速;ssr服務端渲染;通過webpack配置避免組件重復打包;從代碼層面去減少代碼量(提高代碼復用率)等等方法,需要以后去鉆研一下。
以上是關于vue首屏優化的全部內容,希望對大家的學習有所幫助。
總結
以上是生活随笔為你收集整理的nginx加载图片慢_优化vue项目的首屏加载速度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python socket 大文件_py
- 下一篇: vue判断组件是否显示_vue组件中wa