不改一行代碼快速部署Next.js博客到騰訊云Serverless SSR,next js快速入門不改一行代碼快速部署Next.js博客到騰訊云Serverless SSR近期,騰訊云Serverless團(tuán)隊(duì)發(fā)布了Serverless SSR產(chǎn)品,支持將Next.js,Nuxt.js等框架的應(yīng)用快速部署和托管,那么,今......
近期,騰訊云Serverless團(tuán)隊(duì)發(fā)布了Serverless SSR產(chǎn)品,支持將Next.js,Nuxt.js等框架的應(yīng)用快速部署和托管,那么,今天我們就通過一個(gè)Next.js官方案例一起,來了解下該產(chǎn)品有哪些特性吧
一、寫在前面:Next.jsSSR是什么關(guān)系
ServerSideRendering(SSR)泛指服務(wù)端渲染的技術(shù),指的是在Server端將HTML渲染好,再返回給Client端。并且SSR是在對(duì)頁面每個(gè)請(qǐng)求發(fā)出時(shí),都會(huì)重新抓取和生成頁面(和SSG靜態(tài)頁面生成相比,是更加動(dòng)態(tài)的渲染方式)。
Next.js是一個(gè)輕量級(jí)的React服務(wù)端渲染應(yīng)用框架。支持多種渲染方式,包括客戶端渲染、靜態(tài)頁面生成、服務(wù)端渲染。使用Next.js可以方便的實(shí)現(xiàn)SSR,即頁面的服務(wù)端渲染。
二、服務(wù)端渲染SSR(Server Side Render)
Next.js框架支持客戶端渲染CSR(Client Side Render),靜態(tài)頁面生成SSG(Static Site Generation)以及服務(wù)端渲染SSR(Server Side Render)。用戶可以針對(duì)不同的場(chǎng)景,選用不同的渲染方式。
由于SSR可以動(dòng)態(tài)渲染頁面并加載內(nèi)容,因此主要有以下兩個(gè)優(yōu)勢(shì):
·首屏開啟時(shí)間更快,SEO更加友好
·支持生成用戶相關(guān)內(nèi)容,不同用戶結(jié)果不同
在Next.js框架中,SSR的實(shí)現(xiàn)主要通過getServerSideProps方法獲取內(nèi)容,之后在后端調(diào)用renderToString()的方法,把整個(gè)頁面渲染成字符串。
三、基于Next.js SSR的博客系統(tǒng)搭建
接下來我們可以通過實(shí)戰(zhàn)來驗(yàn)證下效果。通過Next.js官方的博客搭建教程,可以很詳細(xì)的了解到框架的使用原理,并且涉及了豐富的功能點(diǎn),如下所示:
·搭建單頁應(yīng)用
·頁面之間相互導(dǎo)航
·Next.js對(duì)靜態(tài)資源,元數(shù)據(jù)和CSS的處理
·預(yù)加載(SSR和SSG)及數(shù)據(jù)獲取
·動(dòng)態(tài)頁面的路由
·API路由(Serverless函數(shù))
·和Github Actions等CI打通
接下來,我們可以將這個(gè)博客快速部署到Serverless SSR平臺(tái)中,由于教程前半部分主要是對(duì)Next.js框架的教學(xué),本文中直接將博客倉庫代碼下載并部署,步驟如下。
1.【下載代碼】通過下列命令將代碼下載到本地,并進(jìn)行少許更改。
npx createnextapp nextjsblogusenpmexamplehttps://github.com/vercel/nextlearnstarter/tree/master/basicsfinal
·在public/images/profile.jpg中將圖片換為自己的頭像
·在components/layout.js中,把const name=[Your Name]替換成自己的名字
·在pages/index.js中,把p[Your Self Introduction]/p改成自己的個(gè)人簡(jiǎn)介
2.【新建】登錄騰訊云,打開Serverless SSR控制臺(tái),如果是全新客戶會(huì)有個(gè)授權(quán)的流程,授權(quán)完成后,點(diǎn)擊新建應(yīng)用,如下圖所示。
SSR新建
3.【配置】在新建頁面中,填入博客項(xiàng)目名稱,由于我本地已有部署好的next.js博客及倉庫,因此可以直接選擇「導(dǎo)入已有項(xiàng)目」。選擇對(duì)應(yīng)的代碼托管方式,并進(jìn)行一鍵授權(quán)。
導(dǎo)入項(xiàng)目
如果沒有Github倉庫也沒關(guān)系,可以直接通過本地「文件夾上傳」的方式,把第一步下載的文件夾上傳并導(dǎo)入。
配置完成后,點(diǎn)擊部署,在「部署日志」頁面查看和等待即可。
在這個(gè)過程中,Serverless SSR會(huì)自動(dòng)執(zhí)行CI流程,做環(huán)境的初始化,安裝Serverless CLI,對(duì)項(xiàng)目進(jìn)行npm run build構(gòu)建,并且自動(dòng)通過layer層對(duì)依賴進(jìn)行分離,從而提升部署速度。
4.【訪問】等待約一分鐘后,可以看到部署成功,跳轉(zhuǎn)到了配置詳情頁面。此時(shí)點(diǎn)擊對(duì)應(yīng)的URL或者「訪問應(yīng)用」按鈕,即可訪問并打開博客了
訪問頁面
至此,一行代碼都沒有改,我把博客無縫部署到了騰訊云Serverless SSR平臺(tái)上托管。
最終的頁面展示如下所示,一個(gè)基于Next.js SSR的博客頁面就快速上線完成了
頁面展示
特別聲明:以上文章內(nèi)容僅代表作者本人觀點(diǎn),不代表ESG跨境電商觀點(diǎn)或立場(chǎng)。如有關(guān)于作品內(nèi)容、版權(quán)或其它問題請(qǐng)于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號(hào)密碼登錄
平臺(tái)顧問
微信掃一掃
馬上聯(lián)系在線顧問
小程序
ESG跨境小程序
手機(jī)入駐更便捷
返回頂部