[發(fā)明專利]一種基于NodeJS的頁(yè)面模板引擎渲染方法有效
| 申請(qǐng)?zhí)枺?/td> | 201710801833.1 | 申請(qǐng)日: | 2017-09-07 |
| 公開(kāi)(公告)號(hào): | CN107562427B | 公開(kāi)(公告)日: | 2020-07-10 |
| 發(fā)明(設(shè)計(jì))人: | 蔣亮亮;陳曉偉 | 申請(qǐng)(專利權(quán))人: | 南威軟件股份有限公司 |
| 主分類號(hào): | G06F8/38 | 分類號(hào): | G06F8/38 |
| 代理公司: | 泉州市文華專利代理有限公司 35205 | 代理人: | 陳智海 |
| 地址: | 362000 福建省*** | 國(guó)省代碼: | 福建;35 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 nodejs 頁(yè)面 模板 引擎 渲染 方法 | ||
本發(fā)明涉及一種基于NodeJS的頁(yè)面模版引擎渲染方法,其在前后端分離的架構(gòu)下,通過(guò)添加中間層NodeJS,在實(shí)現(xiàn)一些對(duì)應(yīng)業(yè)務(wù)邏輯的同時(shí),在此基礎(chǔ)上引入artTemplate模板引擎,可以在中間層拿到訪問(wèn)頁(yè)面路徑找到對(duì)應(yīng)的頁(yè)面元素,并且請(qǐng)求服務(wù)端數(shù)據(jù)同步渲染展示,不僅解決了SPA模式下不能實(shí)現(xiàn)同步渲染的問(wèn)題,也很好地解決了seo優(yōu)化的問(wèn)題。
技術(shù)領(lǐng)域
本發(fā)明涉及一種網(wǎng)頁(yè)渲染方法,具體涉及一種在前后端分離的架構(gòu)下,基于NodeJS的頁(yè)面模版引擎渲染方法。
背景技術(shù)
隨著不同終端(Pad/Mobile/PC)的興起,對(duì)開(kāi)發(fā)人員的要求越來(lái)越高,純?yōu)g覽器端的響應(yīng)式已經(jīng)不能滿足用戶體驗(yàn)的高要求,我們往往需要針對(duì)不同的終端開(kāi)發(fā)定制的版本。為了提升開(kāi)發(fā)效率,前后端分離的需求越來(lái)越被重視,后端負(fù)責(zé)業(yè)務(wù)/數(shù)據(jù)接口,前端負(fù)責(zé)展現(xiàn)/交互邏輯,同一份數(shù)據(jù)接口,我們可以定制開(kāi)發(fā)多個(gè)版本。
但就現(xiàn)在大家一致認(rèn)同也是慣用的前后端分離例子就是SPA(Single-pageapplication),所有用到的展現(xiàn)數(shù)據(jù)都是后端通過(guò)異步接口(AJAX/JSONP)的方式提供的,前端只管展現(xiàn)。
從某種意義上來(lái)說(shuō),SPA確實(shí)做到了前后端分離,但這種方式存在兩個(gè)問(wèn)題:
1、WEB服務(wù)中,SPA類占的比例很少,很多場(chǎng)景下還有同步渲染或同步和異步混合的模式,SPA不能作為一種通用的解決方案;
2、Ajax為主SPA型開(kāi)發(fā)模式,比較適合開(kāi)發(fā)APP類型的場(chǎng)景,但是只適合做APP,因?yàn)镾EO等問(wèn)題不好解決,對(duì)于很多類型的系統(tǒng),這種開(kāi)發(fā)方式也過(guò)重。
SPA已經(jīng)無(wú)法滿足我們的前后端分離需求,我們認(rèn)為從職責(zé)上劃分才能滿足我們的使用場(chǎng)景,本案由此產(chǎn)生。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于NodeJS的頁(yè)面模版引擎渲染方法,其在前后端分離架構(gòu)下,引入NodeJS作為控制層,并通過(guò)artTemplate模板引擎實(shí)現(xiàn)頁(yè)面的同步渲染。
為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:
一種基于NodeJS的頁(yè)面模板引擎渲染方法,其包括以下步驟:
步驟1、通過(guò)nginx配置進(jìn)行頁(yè)面請(qǐng)求轉(zhuǎn)發(fā)給正在監(jiān)聽(tīng)對(duì)應(yīng)端口的NodeJS端;
步驟2、解析URL,取得對(duì)應(yīng)的頁(yè)面名稱以及所屬模塊,結(jié)合模塊名通過(guò)讀取頁(yè)面配置文件匹配到該頁(yè)面的配置,如果模塊不存在或者該模塊下沒(méi)有此頁(yè)面,則跳轉(zhuǎn)到404頁(yè)面;
步驟3、在頁(yè)面存在情況下,判斷是否需要過(guò)濾登陸,若此頁(yè)面需要過(guò)濾登錄,則通過(guò)控控制層NodeJS請(qǐng)求服務(wù)端接口,判斷是否有登錄,沒(méi)登錄則重定向到登錄頁(yè)面,否則進(jìn)入下一步驟;如果頁(yè)面不需要過(guò)濾登錄,則直接進(jìn)入下一步驟;
步驟4、利用artTemplate模板引擎讀取默認(rèn)配置與從服務(wù)器端的數(shù)據(jù)進(jìn)行合并成json,通過(guò)artTemplate模板把對(duì)應(yīng)頁(yè)面與數(shù)據(jù)綁定一起,同步顯示到視圖層。
所述頁(yè)面的重定向和跳轉(zhuǎn)(包括404,500,登錄頁(yè)面等)都會(huì)經(jīng)過(guò)中間層NodeJS,且以前放在后端處理的控件層邏輯都可以放在里面進(jìn)行處理,頁(yè)面的展示不再是單純的靜態(tài)頁(yè)面,而是可以有業(yè)務(wù)數(shù)據(jù)進(jìn)行交互后的數(shù)據(jù)與頁(yè)面同步渲染展示。
所述渲染方法還包括步驟5,即在通過(guò)artTemplate模板把對(duì)應(yīng)頁(yè)面與數(shù)據(jù)綁定一起,同步顯示到視圖層的基礎(chǔ)上,前臺(tái)執(zhí)行js腳本通過(guò)異步交互渲染數(shù)據(jù)到頁(yè)面指定區(qū)域。
采用上述方案后,本發(fā)明不僅解決了SPA模式下不能實(shí)現(xiàn)同步或同步和異步混合的問(wèn)題,也可以很好地解決了seo優(yōu)化的問(wèn)題,提高了網(wǎng)站的安全指數(shù)。對(duì)開(kāi)發(fā)人員來(lái)說(shuō),這種方式不僅使職責(zé)更加清晰,方便協(xié)作,而且也大大提高了開(kāi)發(fā)效率。對(duì)于用戶來(lái)說(shuō),這種方式大大地提高了用戶體驗(yàn)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南威軟件股份有限公司,未經(jīng)南威軟件股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710801833.1/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種基于NODEJS的模板自動(dòng)化編譯上線方法及系統(tǒng)
- 一種基于NodeJS的智能家居語(yǔ)音控制系統(tǒng)
- 一種基于NodeJS的M2M通信設(shè)備及方法
- 一種兼容多終端的即時(shí)通訊系統(tǒng)及方法
- 基于NodeJS和PowerShell的Windows系統(tǒng)的微服務(wù)管理方法和裝置
- 一種基于nodejs實(shí)現(xiàn)手機(jī)應(yīng)用模塊化的方法及系統(tǒng)
- 加速前端同構(gòu)化應(yīng)用程序的方法
- 一種基于nodejs的消息提醒系統(tǒng)與方法
- 一種基于nodejs express應(yīng)用的xss漏洞檢測(cè)方法及裝置
- 一種依賴nodejs統(tǒng)一打包的前端終端工具
- 一種用于確定目標(biāo)頁(yè)面的頁(yè)面類型信息的方法和設(shè)備
- 一種用于識(shí)別WAP頁(yè)面的方法與設(shè)備
- 一種Web App加載方法及裝置
- 單頁(yè)面處理方法及裝置
- 確定原生頁(yè)面和H5頁(yè)面訪問(wèn)次序的方法、裝置和系統(tǒng)
- 頁(yè)面生成方法及裝置
- 一種頁(yè)面對(duì)象自動(dòng)化測(cè)試方法
- 頁(yè)面生成方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種相似網(wǎng)絡(luò)頁(yè)面的搜索方法及設(shè)備
- 頁(yè)面管理方法、裝置、存儲(chǔ)介質(zhì)及電子設(shè)備





