99er久久国产精品先锋_亚洲丰满少妇撒尿BBo_老外和中国女人毛片免费视频_思思热在线视频网站_av无码不卡高清_国产 激情 自拍_激情综合色婷婷激情丁香_少妇与子乱A级全毛片_男人捅女人的软件_日本欧美日韩

...

uni-app 提供開箱即用的 SSR 支持

2021-09-28

uni-app 團(tuán)隊(duì)近期在完成 Vue 3.0 的全平臺(tái)升級(jí)后,基于 Vue 3.0 + uniCloud,發(fā)布了開箱即用的 SSR 支持,官方稱其為 uniCloud 版的 SSR。

據(jù)介紹,SSR(服務(wù)端渲染)可以給 SPA 站點(diǎn)帶來兩大核心優(yōu)勢(shì):

  • 更好的 SEO

  • 更快的首屏渲染

下面是一個(gè) uniCloud 版的 SSR 示例:news.dcloud.io 是基于 uni-app & uniCloud 開發(fā)的新聞系統(tǒng)。通過審查元素會(huì)發(fā)現(xiàn),新聞列表數(shù)據(jù)包含在服務(wù)端下發(fā)的源碼中,而不是客戶端 Ajax 請(qǐng)求所得。

uniCloud 版的 SSR 實(shí)現(xiàn)的較為簡(jiǎn)單,且和 HBuilderX 做了深度集成,可以按照如下步驟快速上手:

步驟一:調(diào)整代碼適配服務(wù)端運(yùn)行環(huán)境

  1. 生命周期:uni-app的生命周期鉤子函數(shù)中,頁(yè)面onLoad、組件beforeCreate 和 created 會(huì)在服務(wù)器端渲染 (SSR) 過程中被調(diào)用,你需要檢查原項(xiàng)目代碼中獲取數(shù)據(jù)的時(shí)機(jī);

  2. 特定平臺(tái)API:若直接使用了如 window 或 document,這類僅瀏覽器支持的全局變量,則會(huì)在云端 Node.js 中執(zhí)行時(shí)拋出錯(cuò)誤;

  3. 數(shù)據(jù)預(yù)?。?lt;uniCloud-db>組件天然支持SSR,無需調(diào)整代碼,推薦使用<uniCloud-db>查詢數(shù)據(jù)庫(kù)。如果你未使用<uniCloud-db>組件,則可使用serverPrefetch來實(shí)現(xiàn)服務(wù)器端數(shù)據(jù)獲取,使用@dcloudio/uni-app提供的ssrRef或Vue.js官方的Vuex來實(shí)現(xiàn)狀態(tài)同步;

更多詳細(xì)信息及示例代碼,參考:https://uniapp.dcloud.net.cn/collocation/ssr

步驟二:編譯發(fā)行

通過HBuilderX的發(fā)行菜單->網(wǎng)站 PC-Web或手機(jī)H5、勾選ssr、勾選將編譯后的資源部署在uniCloud前端網(wǎng)頁(yè)托管

這個(gè)過程,對(duì)開發(fā)者來說很簡(jiǎn)單,只需要點(diǎn)擊按鈕即可,實(shí)際上HBuilderX在背后做了大量工作,包括:

  1. 編譯uni-app項(xiàng)目,分別生成Server Bundle和Client Bundle

  2. 將Client Bundle上傳到uniCloud前端網(wǎng)頁(yè)托管中

  3. 將Server Bundle作為uni-ssr云函數(shù)資源,編譯并上傳到uniCloud服務(wù)空間

步驟三:配置 uni-ssr 云函數(shù)的 URL 化路徑

給uni-ssr云函數(shù)綁定自定義域名,然后在瀏覽器中訪問該域名,就可以獲得服務(wù)端渲染的頁(yè)面了。

至此,uniCloud版SSR開發(fā)部署工作結(jié)束。

最后看看傳統(tǒng) SSR 與 uniCloud 版 SSR 的優(yōu)缺點(diǎn)對(duì)比:


來源:oschina