模版與模版邏輯的合并方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種模板與模板邏輯的合并方法和系統(tǒng),所述方法包括:將模板用超文本標(biāo)記語言寫入可讀寫文件中;將所述模板的模板邏輯用直譯式腳本語言寫入javascript文件中;在網(wǎng)站系統(tǒng)運行時,根據(jù)預(yù)設(shè)的模板合并規(guī)則,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,使得所述javascript文件包含模板與模板邏輯。本發(fā)明在網(wǎng)站開發(fā)階段,按照html和javascript各自的語法書寫代碼,實現(xiàn)了模板與模板邏輯的分離;在網(wǎng)站系統(tǒng)運行時,在網(wǎng)站系統(tǒng)運行階段,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,提高了生產(chǎn)效率,提高了代碼的可讀性,降低了維護(hù)成本。
【專利說明】模版與模版邏輯的合并方法和系統(tǒng)
[0001 ]方法領(lǐng)域
[0002]本發(fā)明涉及網(wǎng)頁開發(fā)技術(shù)領(lǐng)域,尤其涉及一種模版與模版邏輯的合并方法和系統(tǒng)。
【背景技術(shù)】
[0003]在Web前端開發(fā)中,針對不同的技術(shù),往往有各種不同的模板以供開發(fā)者使用。在這些模板中,集合了開發(fā)者最好的實踐、優(yōu)秀的示例、實用的提示等資源,這樣,能夠節(jié)省大量的開發(fā)工作時間。開發(fā)者可以從這些模板中獲得非常有用的信息,這些信息濃縮了其他開發(fā)者多年的開發(fā)經(jīng)驗。
[0004]在web前端開發(fā)中,模版與數(shù)據(jù)(模板邏輯)是強耦合的,為了提高生產(chǎn)效率,需要將模版與數(shù)據(jù)(模板邏輯)進(jìn)行分離。傳統(tǒng)的實現(xiàn)模版與數(shù)據(jù)分離的方法是:將傳統(tǒng)的html模版,放在管理模版邏輯文件的javascript的變量中。
[0005]在這種傳統(tǒng)開發(fā)模式下,帶來的問題如下:
[0006]1.模版與模版邏輯混合存放:將網(wǎng)頁呈現(xiàn)邏輯(視圖)與業(yè)務(wù)邏輯混合存放,代碼的可讀性降低;
[0007]2.HTML標(biāo)簽混亂:將HTML標(biāo)簽放在javascript文件中拼接,相當(dāng)于用JavaScript語法去寫HTML代碼,改變了用戶平時書寫HTML的習(xí)慣,格式和縮進(jìn)的規(guī)則,增加了維護(hù)成本。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的目的是提供一種模版與模版邏輯的合并方法,在網(wǎng)站開發(fā)階段,按照html和javascript各自的語法書寫代碼,實現(xiàn)了模板與模板邏輯的分離;在網(wǎng)站系統(tǒng)運行時,在網(wǎng)站系統(tǒng)運行階段,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,提高了生產(chǎn)效率,提高了代碼的可讀性,降低了維護(hù)成本。
[0009]根據(jù)本發(fā)明的一個方面,提供了一種模版與模版邏輯的合并方法,所述方法包括:將模板用超文本標(biāo)記語言寫入可讀寫文件中;將所述模板的模板邏輯用直譯式腳本語言寫入javascript文件中;根據(jù)預(yù)設(shè)的模板合并規(guī)則,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,使得所述javascript文件包含模板與模板邏輯。
[0010]其中,所述將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,使得所述javascript文件包含模板與模板邏輯的步驟中,通過編程語言或腳本語言將包含模板的所述可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中。
[0011]其中,所述基于預(yù)設(shè)的模板合并規(guī)則,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,使得所述javascript文件包含模板與模板邏輯的步驟,進(jìn)一步包括:對包含模板的可讀寫文件中的模板字符串進(jìn)行語法轉(zhuǎn)化,以得到j(luò)avascript語法的模板字符串;基于預(yù)設(shè)的模板合并規(guī)則,將所述javascript語法的模板字符串合并到所述javascript文件中,使得所述javascript文件包含模板與模板邏輯。
[0012]其中,所述模板為網(wǎng)頁內(nèi)容,所述模板邏輯為用戶與網(wǎng)頁的互動行為。
[0013]可選的,所述可讀寫文件包括txt文檔、word文檔、pdf文檔和/或html文檔。
[0014]根據(jù)本發(fā)明的另一個方面,提供了一種模版與模版邏輯合并系統(tǒng),所述系統(tǒng)包括:客戶端和服務(wù)器端;客戶端,用于在網(wǎng)站開發(fā)時,將模板用超文本標(biāo)記語言寫入可讀寫文件中,還用于將所述模板的模板邏輯用直譯式腳本語言寫入javascript文件中,并將所述包含模板的可讀寫文件和包含模板邏輯的javascript文件發(fā)送至服務(wù)器端;
[0015]服務(wù)器端,用于在網(wǎng)站系統(tǒng)運行時,根據(jù)預(yù)設(shè)的模板合并規(guī)則,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,使得所述javascript文件包含模板與模板邏輯。
[0016]其中,所述服務(wù)器端通過編程語言或腳本語言將包含模板的所述可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中。
[0017]其中,服務(wù)器端包括:語法轉(zhuǎn)化單元和合并單元;語法轉(zhuǎn)化單元,用于對包含模板的可讀寫文件中的模板字符串進(jìn)行語法轉(zhuǎn)化,以得到j(luò)avascript語法的模板字符串;合并單元,用于基于預(yù)設(shè)的模板合并規(guī)則,將所述javascript語法的模板字符串合并到所述javascript文件中,使得所述javascript文件包含模板與模板邏輯。
[0018]其中,所述模板為網(wǎng)頁內(nèi)容,所述模板邏輯為用戶與網(wǎng)頁的互動行為。
[0019]可選的,所述可讀寫文件包括txt文檔、word文檔、pdf文檔和/或html文檔。
[0020]在網(wǎng)站開發(fā)階段,按照html和javascript各自的語法書寫代碼,實現(xiàn)了模板與模板邏輯的分離;在網(wǎng)站系統(tǒng)運行時,在網(wǎng)站系統(tǒng)運行階段,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,提高了生產(chǎn)效率,提高了代碼的可讀性,降低了維護(hù)成本。
【附圖說明】
[0021 ]圖1是根據(jù)本發(fā)明的模版與模版邏輯的合并方法的流程示意圖;
[0022]圖2是本發(fā)明的步驟S3的流程示意圖;
[0023]圖3是根據(jù)本發(fā)明的模版與模版邏輯的合并系統(tǒng)的結(jié)構(gòu)示意圖;
[0024]圖4是本發(fā)明的服務(wù)器端的結(jié)構(gòu)示意圖。
【具體實施方式】
[0025]為使本發(fā)明的目的、方法方案和優(yōu)點更加清楚明了,下面結(jié)合【具體實施方式】并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說明中,省略了對公知結(jié)構(gòu)和方法的描述,以避免不必要地混淆本發(fā)明的概念。
[0026]圖1是根據(jù)本發(fā)明的模版與模版邏輯的合并方法的流程示意圖。
[0027]如圖1所示,本發(fā)明的模版與模版邏輯的合并方法,所述方法包括:
[0028]步驟S10,將模板用超文本標(biāo)記語言寫入可讀寫文件中。
[0029]本步驟中,在網(wǎng)站開發(fā)時,將模板用超文本標(biāo)記語言(S卩html語言)寫入可讀寫文件中,所述可讀寫文件包括但不限于txt文檔、word文檔、pdf文檔和/或html文檔。
[0030]本發(fā)明中,所述模板為網(wǎng)頁內(nèi)容,所述模板邏輯為用戶與網(wǎng)頁的互動行為。
[0031]步驟S20,將所述模板的模板邏輯用直譯式腳本語言寫入javascript文件中。
[0032]本步驟中,將該模板的模板邏輯用直譯式腳本語言(S卩javascript語言)寫入javascript文件中。
[0033]步驟S30,根據(jù)預(yù)設(shè)的模板合并規(guī)則,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,使得所述javascript文件包含模板與模板邏輯。
[0034]本步驟中,模板在合并時,都有一定的模板合并規(guī)則。基于預(yù)設(shè)的模板合并規(guī)則,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,使得所述javascript文件包含模板與模板邏輯。
[0035]這樣,在網(wǎng)站開發(fā)階段,按照html和javascript各自的語法書寫代碼,實現(xiàn)了模板與模板邏輯的分離;在網(wǎng)站系統(tǒng)運行時,在網(wǎng)站系統(tǒng)運行階段,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,提高了生產(chǎn)效率,提高了代碼的可讀性,降低了維護(hù)成本。
[0036]其中,所述將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,使得所述javascript文件包含模板與模板邏輯的步驟中,通過編程語言或腳本語言將包含模板的所述可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中。
[0037]本步驟中,編程語目包括但不限于C語目、JAVA、C++、Basic語目、0b ject-C、C#、(Visual)Basic、PL/SQL、Delphi/Object Pascal、Visual Basic.NET、Lisp、Pascal、Ada、Transac t_SQL、Logo、NXT-G、ASP.NET 等等。腳本語言包括但不限于 JavaScript、VBScript、Perl、PHP、Python、Ruby 等等。
[0038]圖2是本發(fā)明的步驟S3的流程示意圖。
[0039]如圖2所示,所述步驟S3:所述基于預(yù)設(shè)的模板合并規(guī)則,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,使得所述javascript文件包含模板與模板邏輯的步驟,進(jìn)一步包括:
[0040]步驟S31,對包含模板的可讀寫文件中的模板字符串進(jìn)行語法轉(zhuǎn)化,以得到j(luò)avascript語法的模板字符串。
[0041]本步驟中,將包含模板的可讀寫文件中的模板字符串進(jìn)行語法轉(zhuǎn)化,將html語言轉(zhuǎn)化為javascript語言,以得到j(luò)avascript語法的模板字符串。
[0042]步驟S32,基于預(yù)設(shè)的模板合并規(guī)則,將所述javascript語法的模板字符串合并到所述javascript文件中,使得所述javascript文件包含模板與模板邏輯。
[0043]本步驟中,基于預(yù)設(shè)的模板合并規(guī)則,將所述javascript語法的模板字符串合并到所述javascript文件中,使得所述javascript文件包含模板與模板邏輯。
[0044]如上所述,詳細(xì)介紹了本發(fā)明的模板與模板邏輯的合并方法,本發(fā)明在網(wǎng)站開發(fā)階段,按照html和javascript各自的語法書寫代碼,實現(xiàn)了模板與模板邏輯的分離;在網(wǎng)站系統(tǒng)運行時,在網(wǎng)站系統(tǒng)運行階段,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,提高了生產(chǎn)效率,提高了代碼的可讀性,降低了維護(hù)成本。
[0045]圖3是根據(jù)本發(fā)明的模版與模版邏輯的合并系統(tǒng)的結(jié)構(gòu)示意圖。
[0046]如圖3所示,本發(fā)明的模版與模版邏輯合并系統(tǒng),所述系統(tǒng)包括:客戶端10和服務(wù)器端20。
[0047]客戶端10,用于在網(wǎng)站開發(fā)時,將模板用超文本標(biāo)記語言寫入可讀寫文件文件中,還用于將所述模板的模板邏輯用直譯式腳本語言寫入javascript文件中,并將所述包含模板的可讀寫文件和包含模板邏輯的javascript文件發(fā)送至服務(wù)器端20。
[0048]本發(fā)明中,所述可讀寫文件包括txt文檔、word文檔、pdf文檔和/或html文檔。其中,所述模板為網(wǎng)頁內(nèi)容,所述模板邏輯為用戶與網(wǎng)頁的互動行為。
[0049]該模塊的具體描述參見前述步驟SlO和S20。
[0050]服務(wù)器端20與所述客戶端10連接,用于在網(wǎng)站系統(tǒng)運行時,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,使得所述javascript文件包含模板與模板邏輯。
[0051]在一可選實施方式中,所述服務(wù)器端20通過編程語言或腳本語言將包含模板的所述可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中。
[0052]本步驟中,編程語目包括但不限于C語目、JAVA、C++、Basic語目、0b ject-C、C#、(Visual)Basic、PL/SQL、Delphi/Object Pascal、Visual Basic.NET、Lisp、Pascal、Ada、Transact-SQL、Logo、NXT-G、ASP.NET 等等。腳本語言包括但不限于 JavaScript、VBScript、Perl、PHP、Python、Ruby 等等。
[0053]該模塊的具體描述參見前述步驟S30。
[0054]圖4是本發(fā)明的服務(wù)器端的結(jié)構(gòu)示意圖。
[0055]如圖4所示,進(jìn)一步服務(wù)器端20包括:語法轉(zhuǎn)化單元21和合并單元22。
[0056]語法轉(zhuǎn)化單元21,用于對包含模板的可讀寫文件中的模板字符串進(jìn)行語法轉(zhuǎn)化,以得到j(luò) avas cr ip t語法的模板字符串。
[0057]該模塊的具體描述參見前述步驟S31。
[0058]合并單元22與所述語法轉(zhuǎn)化單元21連接,用于基于預(yù)設(shè)的模板合并規(guī)則,將所述javascript語法的模板字符串合并到所述javascript文件中,使得所述javascript文件包含模板與模板邏輯。
[0059]該模塊的具體描述參見前述步驟S32。
[0060]如上所述,詳細(xì)介紹了本發(fā)明的模板與模板邏輯的合并方法,本發(fā)明在網(wǎng)站開發(fā)階段,按照html和javascript各自的語法書寫代碼,實現(xiàn)了模板與模板邏輯的分離;在網(wǎng)站系統(tǒng)運行時,在網(wǎng)站系統(tǒng)運行階段,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,提高了生產(chǎn)效率,提高了代碼的可讀性,降低了維護(hù)成本。
[0061]應(yīng)當(dāng)理解的是,本發(fā)明的上述【具體實施方式】僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。
【主權(quán)項】
1.一種模版與模版邏輯的合并方法,其特征在于,所述方法包括: 將模板用超文本標(biāo)記語言寫入可讀寫文件中; 將所述模板的模板邏輯用直譯式腳本語言寫入javascript文件中; 根據(jù)預(yù)設(shè)的模板合并規(guī)則,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,使得所述javascript文件包含模板與模板邏輯。2.根據(jù)權(quán)利要求1所述的合并方法,其中,所述將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,使得所述javascript文件包含模板與模板邏輯的步驟中,通過編程語言或腳本語言將包含模板的所述可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中。3.根據(jù)權(quán)利要求1-2任一項所述的合并方法,其中,所述基于預(yù)設(shè)的模板合并規(guī)則,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,使得所述javascript文件包含模板與模板邏輯的步驟,進(jìn)一步包括: 對包含模板的可讀寫文件中的模板字符串進(jìn)行語法轉(zhuǎn)化,以得到j(luò)avascript語法的模板字符串; 基于預(yù)設(shè)的模板合并規(guī)則,將所述javascript語法的模板字符串合并到所述javascript文件中,使得所述javascript文件包含模板與模板邏輯。4.根據(jù)權(quán)利要求1-2任一項所述的合并方法,其中,所述模板為網(wǎng)頁內(nèi)容,所述模板邏輯為用戶與網(wǎng)頁的互動行為。5.根據(jù)權(quán)利要求1-2任一項所述的合并方法,其中,所述可讀寫文件包括txt文檔、word文檔、pdf文檔和/或html文檔。6.一種模版與模版邏輯合并系統(tǒng),其特征在于,所述系統(tǒng)包括: 客戶端(10),用于在網(wǎng)站開發(fā)時,將模板用超文本標(biāo)記語言寫入可讀寫文件中,還用于將所述模板的模板邏輯用直譯式腳本語言寫入javascript文件中,并將所述包含模板的可讀寫文件和包含模板邏輯的javascript文件發(fā)送至服務(wù)器端(20); 服務(wù)器端(20),用于在網(wǎng)站系統(tǒng)運行時,根據(jù)預(yù)設(shè)的模板合并規(guī)則,將包含模板的可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中,使得所述javascript文件包含模板與模板邏輯。7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述服務(wù)器端(20)通過編程語言或腳本語言將包含模板的所述可讀寫文件動態(tài)合并到包含模板邏輯的javascript文件中。8.根據(jù)權(quán)利要求6-7任一項所述的系統(tǒng),其中,服務(wù)器端(20)包括: 語法轉(zhuǎn)化單元(21),用于對包含模板的可讀寫文件中的模板字符串進(jìn)行語法轉(zhuǎn)化,以得到j(luò)avascript語法的模板字符串; 合并單元(22),用于基于預(yù)設(shè)的模板合并規(guī)則,將所述javascript語法的模板字符串合并到所述javascript文件中,使得所述javascript文件包含模板與模板邏輯。9.根據(jù)權(quán)利要求6-7任一項所述的系統(tǒng),其中,所述模板為網(wǎng)頁內(nèi)容,所述模板邏輯為用戶與網(wǎng)頁的互動行為。10.根據(jù)權(quán)利要求6-7任一項所述的系統(tǒng),其中,所述可讀寫文件包括txt文檔、word文檔、pdf文檔和/或html文檔。
【文檔編號】G06F9/44GK105893056SQ201610262828
【公開日】2016年8月24日
【申請日】2016年4月25日
【發(fā)明人】何亮, 楊新靜, 楊濤
【申請人】樂視控股(北京)有限公司, 樂視致新電子科技(天津)有限公司