程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 如何高效部署前端代碼,如css,js...,cssjs..

如何高效部署前端代碼,如css,js...,cssjs..

編輯:JAVA綜合教程

如何高效部署前端代碼,如css,js...,cssjs..


看了網上一些文章,做了點總結,順便再加點自己的東西,簡單的說下。

 

1.利用浏覽器的304緩存,但是304叫協商緩存,還是需要與服務器通信一次

2.強制使用浏覽器使用本地緩存(cache-control/expires),但是問題來了,不讓浏覽器發資源請求,資源怎麼更新。

3.使用版本號,類似於a.css?v=1.0,b.css?v=1.0,做了更改的時候都變成a.css?v=2.0,b.css?v=2.0,有時候a.css改變了,b.css沒有改變,不是多此一舉嗎?

4.使用數據摘要算法,類似於a.css?v=0abc23,b.css?v=65ao1j,如果a.css做了更改的話,a.css=v=1asd2j,b.css還是b.css?v=65ao1j。

5.很多企業,現在都靜態文件cdn部署了,類似於http://static.cdn.com/css/a.css?v=0abc23,與頁面分開部署了,

  a.如果先部署頁面,再部署資源:在二者部署的時間間隔內,如果有用戶訪問頁面,就會在新的頁面結構中加載舊的資源,並且把這個舊版本的資源當做新版本緩存起來,其結果就是:用戶訪問到了一個樣式錯亂的頁面,除非手動刷新,否則在資源緩存過期之前,頁面會一直執行錯誤。

  b.如果先部署資源,再部署頁面:

在部署時間間隔之內,有舊版本資源本地緩存的用戶訪問網站,由於請求的頁面是舊版本的,資源引用沒有改變,浏覽器將直接使用本地緩存,這種情況下頁面展現正常;但沒有本地緩存或者緩存過期的用戶訪問網站,就會出現舊版本頁面加載新版本資源的情況,導致頁面執行錯誤,但當頁面完成部署,這部分用戶再次訪問頁面又會恢復正常了。 解決方法:改變命名方式,改成a_0abc23.css,上線的時候先部署靜態資源,再部署頁面。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved