亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

客戶端嵌入 H5 頁面所引入的靜態資源是直接打包進客戶端還是正常的 HTTP 請求(已做 CDN 緩存)好呢?

客戶端嵌入 H5 頁面所引入的靜態資源是直接打包進客戶端還是正常的 HTTP 請求(已做 CDN 緩存)好呢?

收到一只叮咚 2019-04-07 11:18:23
一些用戶反饋嵌入客戶端的H5頁面在訪問的時候總是有些慢,于是開始考慮把一些常用的靜態資源文件打包進客戶端(主要指通用js庫,通用樣式庫,還有樣式背景圖片),不知道這個方案有沒有什么弊端,我目前想到幾個問題:如果是一個新頁面,客戶端能不能及時的檢測到新的靜態資源并放到客戶端本地,不需要發布也能做到如果靜態資源改變,如何及時更新這些靜態資源有沒有做過這種嘗試的同行可以分享下經驗,希望能得到一些意見。
查看完整描述

2 回答

?
慕容森

TA貢獻1853條經驗 獲得超18個贊

不必二選一。本地和網絡的靜態資源可以(也應該)共存。而在策略上,本地資源優先,本地資源失敗時(頁面更新等原因)再聯網這也是自然的。
前端部署流程中“文件名加入簽名(Hash)值”這種慣例性的方法,就可以簡單的破除緩存影響,達到你的兩點需求。
我推薦寫頁面時不做任何改動,保持所有資源從CDN請求的形式不變。提供本地文件的任務在客戶端(HTML容器)這一層完成:
或者在渲染前“污染”HTML頁面的內容,把能夠對應上的網址,改成指向本地文件
或者截獲HTTP請求,如果網址里的文件名能對應上,就直接提供本地文件的內容
至于動態請求來的資源怎么存儲我沒有想法,題主可以自己構思一下。我的直覺是最好根本不要在運行時動態存儲,因為機制可能會變得很麻煩。在客戶端每次版本更新時,把靜態資源重新打包一次也就夠了。
                            
查看完整回答
反對 回復 2019-04-07
?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

請將問題表示更加清楚一下:
你指打包是指Java中的war還是手機端的類似phonegap的Html5程序包?
                            
查看完整回答
反對 回復 2019-04-07
  • 2 回答
  • 0 關注
  • 936 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號