Java script動(dòng)態(tài)合并服務(wù)器及其工作過(guò)程的制作方法
【專(zhuān)利摘要】一種java script動(dòng)態(tài)合并服務(wù)器,該服務(wù)器通過(guò)配置文件和請(qǐng)求的不同參數(shù),動(dòng)態(tài)的將存儲(chǔ)于后臺(tái)的多個(gè)java scripts文件組合、壓縮成一個(gè)java script文件,并將其返回;該java script動(dòng)態(tài)合并服務(wù)器的架構(gòu)包括http文件服務(wù)器、目標(biāo)文件、目標(biāo)文件參數(shù)、配置文件、源文件、文件分析器;該服務(wù)器架構(gòu)簡(jiǎn)單、清晰,無(wú)需對(duì)javascript程序做任何修改,不會(huì)影響程序的任何邏輯;配置靈活,只需要修改配置文件就能夠?qū)崿F(xiàn)不同模塊、不同版本的組合;使用方便,在請(qǐng)求的路徑中加入?yún)?shù)就能得到不同版本、不同組合的.js文件;而且方便調(diào)試時(shí)定位錯(cuò)誤。
【專(zhuān)利說(shuō)明】Java scr i pt動(dòng)態(tài)合并服務(wù)器及其工作過(guò)程
【【技術(shù)領(lǐng)域】】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)web服務(wù)器領(lǐng)域,尤其涉及大型java script開(kāi)發(fā)應(yīng)用【技術(shù)領(lǐng)域】。
【【背景技術(shù)】】
[0002]隨著瀏覽器的性能的提高,java script在互聯(lián)網(wǎng)項(xiàng)目中的應(yīng)用越來(lái)越廣泛,javascript的代碼數(shù)量及其復(fù)雜程度也隨之成倍增長(zhǎng)。由于歷史原因,java script存在開(kāi)放全局變量,不完整的面向?qū)ο笤O(shè)計(jì)等缺陷,而且天生缺少外部引用機(jī)制和模塊化機(jī)制,這樣給開(kāi)發(fā)和調(diào)試大型的java script程序帶來(lái)了許多的困難。
[0003]很多技術(shù)嘗試解決開(kāi)發(fā)大型java script的技術(shù)問(wèn)題。比如Require, js和sea.js,他們均采用java script動(dòng)態(tài)地添加文檔標(biāo)簽的方法實(shí)現(xiàn)js的異步下載,通過(guò)在javascript文件中聲明對(duì)其他庫(kù)文件的依賴(lài),達(dá)到將復(fù)雜的java script文件化分為可以復(fù)用的多個(gè)模塊,從而實(shí)現(xiàn)的js文件的模塊化。
[0004]這些方法的共同特點(diǎn)是:用戶(hù)的代碼需要用固定模式來(lái)封裝,使其符合模塊化調(diào)用的規(guī)范;需要依賴(lài)聲明模塊;由外部的js文件的動(dòng)態(tài)加載。
[0005]比如在Require, js中,就可以用define函數(shù)定義一個(gè)ID為“l(fā)ogger”的模塊,這樣在其他的代碼里面,就可以利用Require, js函數(shù)來(lái)調(diào)用“l(fā)ogger”模塊。則“l(fā)ogger”模塊成為實(shí)現(xiàn)js文件的可以復(fù)用的模塊。
[0006]現(xiàn)有技術(shù)的問(wèn)題在于為了實(shí)現(xiàn)java script原本不具備的模塊化功能,需要對(duì)用戶(hù)編寫(xiě)的java script腳本進(jìn)行封裝和改寫(xiě),使之符合模塊化的規(guī)范,以便作為可以隨意調(diào)用的模塊。額外的代碼和修改會(huì)增加程序的復(fù)雜程度,并且封裝和加載的邏輯有可能對(duì)程序帶來(lái)不可預(yù)計(jì)和不可控制的影響。不僅增加了代碼的編寫(xiě)難度,同時(shí)以會(huì)給原有的編寫(xiě)的代碼帶來(lái)兼容性問(wèn)題。
[0007]另外一個(gè)問(wèn)題是模塊化的動(dòng)態(tài)加載會(huì)造成調(diào)試的困難。首先代碼的加載順序不再受控制,由于的加載機(jī)制對(duì)于依賴(lài)文件的加載順序的控制是不同的,對(duì)于一些需要加載完成后調(diào)用或者觸發(fā)的程序,必須額外考慮加載順序的問(wèn)題。其次為了使代碼符合模塊化所進(jìn)行的改寫(xiě)會(huì)改變程序內(nèi)變量和函數(shù)的作用域,在調(diào)試時(shí)錯(cuò)誤信息將變得難以追蹤。
【
【發(fā)明內(nèi)容】
】
[0008]本發(fā)明針對(duì)以上情況提出了一種適應(yīng)目前互聯(lián)網(wǎng)中java script文件越來(lái)越高的復(fù)雜程度、能夠提供完成繁瑣的開(kāi)發(fā)調(diào)試工作的java script動(dòng)態(tài)合并服務(wù)器。
[0009]本發(fā)明所涉及的java script動(dòng)態(tài)合并服務(wù)器通過(guò)配置文件和請(qǐng)求的不同參數(shù),動(dòng)態(tài)的將存儲(chǔ)于后臺(tái)的多個(gè)java scripts文件組合、壓縮成一個(gè)java script文件,并將其返回;
[0010]該java script動(dòng)態(tài)合并服務(wù)器的架構(gòu)包括http文件服務(wù)器、目標(biāo)文件、目標(biāo)文件參數(shù)、配置文件、源文件、文件分析器;其中:
[0011]http文件服務(wù)器:負(fù)責(zé)接收對(duì)java script文件的http請(qǐng)求,針對(duì)每個(gè)請(qǐng)求的目標(biāo)文件和相應(yīng)參數(shù),向文件分析器發(fā)送文件合并的請(qǐng)求,并將合并好的結(jié)果文件緩存并返回;
[0012]目標(biāo)文件:目標(biāo)文件指客戶(hù)端所希望請(qǐng)求的javascript文件,以.js為結(jié)尾的文件名為唯一標(biāo)識(shí),客戶(hù)端通過(guò)url請(qǐng)求目標(biāo)文件;
[0013]目標(biāo)文件參數(shù):客戶(hù)端在請(qǐng)求目標(biāo)文件的url內(nèi)可以帶上附加的參數(shù),用于指明請(qǐng)求文件的版本,壓縮狀態(tài);
[0014]配置文件:配置文件包括源配置文件和目標(biāo)配置文件,兩種配置文件均為JSON格式文件;
[0015]源文件:源文件是組成目標(biāo)的單個(gè)java script文件,每個(gè)目標(biāo)文件將由一個(gè)或多個(gè)源文件組合而成;源文件存儲(chǔ)于系統(tǒng)的文件系統(tǒng)中,并且需要在源配置文件中聲明,只用在原配置文件中聲明使用的源文件才能被用于組合成目標(biāo)文件;
[0016]文件分析器:文件分析器是服務(wù)器的核心組件,負(fù)責(zé)接收http文件服務(wù)器的指令并根據(jù)配置文件讀取所需的源文件,并將其合并成目標(biāo)文件后,返回給客戶(hù)端。
[0017]其中源配置文件:源配置文件作為一個(gè)名為source, js的文本文件,里面定義系統(tǒng)中可用的源文件ID、版本和位置信息;自由在源配置文件中注冊(cè)過(guò)的源文件才能被系統(tǒng)用來(lái)組合成目標(biāo)文件。
[0018]在該源配置文件中,每一個(gè)源文件的id是唯一的,其對(duì)應(yīng)的是存儲(chǔ)與系統(tǒng)中的一個(gè)源文件,而且id不需要與文件名相同。
[0019]其中目標(biāo)配置文件:目標(biāo)配置文件是針對(duì)每一個(gè)想要訪(fǎng)問(wèn)的目標(biāo)java script文件的配置文件,可以有多個(gè),每一個(gè)目標(biāo)文件對(duì)應(yīng)一個(gè)目標(biāo)配置文件,目標(biāo)配置文件與目標(biāo)文件同名,是以.js為結(jié)尾的文本文件;
[0020]該目標(biāo)配置文件包含版本信息和源文件配置,版本信息是指對(duì)于同一個(gè)目標(biāo)文件,可以有多個(gè)不同的版本,通過(guò)版本號(hào)進(jìn)行區(qū)分;而源文件配置是指用于指明目標(biāo)文件由那些源文件構(gòu)成,在配置文件中指明的是源文件的id,而且必須是在源配置文件中存在的id;每個(gè)版本的目標(biāo)文件的源文件配置是獨(dú)立的,而且每個(gè)源文件都可以指定其版本。
[0021]客戶(hù)端在請(qǐng)求目標(biāo)文件時(shí)附帶的參數(shù)遵循標(biāo)準(zhǔn)的url參數(shù)規(guī)則,以“ ? ”開(kāi)始,使用key = value的形式,并用“&”作為多個(gè)參數(shù)的分隔。
[0022]該javascript動(dòng)態(tài)合并服務(wù)器的工作過(guò)程包含以下步驟:
[0023]1、客戶(hù)端發(fā)送.js文件請(qǐng)求:客戶(hù)端向java script動(dòng)態(tài)合并服務(wù)器發(fā)送一個(gè)請(qǐng)求,文件名為XX.js,并附帶兩個(gè)參數(shù);
[0024]2、http服務(wù)器解析請(qǐng)求及參數(shù):http文件服務(wù)器接收到請(qǐng)求后,會(huì)查找本地緩存,如果能在本地緩存找到符合要求的文件,將直接返回該文件;若無(wú)法在本地緩存中找到符合要求的文件,則將請(qǐng)求的XX.js和兩個(gè)參數(shù)發(fā)送給文件分析器;
[0025]3、文件解析器查找對(duì)應(yīng)的目標(biāo)配置文件:文件分析器解析接收到的,從http服務(wù)器發(fā)來(lái)的請(qǐng)求,解析后會(huì)查找名為XX.js的配置文件,若找不到相應(yīng)的配置文件,則返回一個(gè)404錯(cuò)誤;若找到相應(yīng)的配置文件后則進(jìn)行解析,得到組成該目標(biāo)文件的源文件id列表,列表的順序與配置文件中的id順序一致;
[0026]4、根據(jù)要求將需要的源文件組裝、壓縮成目標(biāo)文件:文件分析器查找到源配置文件,根據(jù)上一步得到的id列表,依次讀取指定的源文件,并根據(jù)參數(shù)的要求,將所有的源文件合并為一個(gè)文件,并寫(xiě)入本地緩存,緩存文件的命名方式為name_key_value ;
[0027]5、http服務(wù)器返回.js文件:生成文件之后,系統(tǒng)將生成的文件返回給客戶(hù)端,整個(gè)請(qǐng)求過(guò)程完成。
[0028]對(duì)于客戶(hù)端來(lái)說(shuō),調(diào)用java script文件的方式與傳統(tǒng)的文件服務(wù)器沒(méi)有不同,都是通過(guò)指定的URL地址請(qǐng)求指定的java script文件。
[0029]對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),多個(gè)自定義的javas cript文件的劃分及組合帶來(lái)了極大的自由和便利,而且本發(fā)明的使用門(mén)檻很低,沒(méi)有陡峭的學(xué)習(xí)曲線(xiàn),使系統(tǒng)的java script開(kāi)發(fā)從設(shè)計(jì)到編碼階段的流程都清晰可控,在開(kāi)發(fā)后期的修改和debug階段也會(huì)給開(kāi)發(fā)人員會(huì)帶來(lái)很大的便利。
【【專(zhuān)利附圖】
【附圖說(shuō)明】】
[0030]圖1是本發(fā)明javascript動(dòng)態(tài)合并服務(wù)器的工作過(guò)程的流程圖;
【【具體實(shí)施方式】】
[0031]下面將結(jié)合本發(fā)明附圖和【具體實(shí)施方式】對(duì)本發(fā)明java script動(dòng)態(tài)合并服務(wù)器及其工作過(guò)程進(jìn)行進(jìn)一步的詳細(xì)說(shuō)明。
[0032]本發(fā)明所涉及的java script動(dòng)態(tài)合并服務(wù)器通過(guò)配置文件和請(qǐng)求的不同參數(shù),動(dòng)態(tài)的將存儲(chǔ)于后臺(tái)的多個(gè)java scripts文件組合、壓縮成一個(gè)java script文件,并將其返回;
[0033]該java script動(dòng)態(tài)合并服務(wù)器的架構(gòu)包括http文件服務(wù)器、目標(biāo)文件、目標(biāo)文件參數(shù)、配置文件、源文件、文件分析器;其中:
[0034]http文件服務(wù)器:負(fù)責(zé)接收對(duì)java script文件的http請(qǐng)求,針對(duì)每個(gè)請(qǐng)求的目標(biāo)文件和相應(yīng)參數(shù),向文件分析器發(fā)送文件合并的請(qǐng)求,并將合并好的結(jié)果文件緩存并返回;
[0035]目標(biāo)文件:目標(biāo)文件指客戶(hù)端所希望請(qǐng)求的javascript文件,以.js為結(jié)尾的文件名為唯一標(biāo)識(shí),客戶(hù)端通過(guò)url請(qǐng)求目標(biāo)文件;
[0036]目標(biāo)文件參數(shù):客戶(hù)端在請(qǐng)求目標(biāo)文件的url內(nèi)可以帶上附加的參數(shù),用于指明請(qǐng)求文件的版本,壓縮狀態(tài);
[0037]配置文件:配置文件包括源配置文件和目標(biāo)配置文件,兩種配置文件均為JSON格式文件;
[0038]源文件:源文件是組成目標(biāo)的單個(gè)java script文件,每個(gè)目標(biāo)文件將由一個(gè)或多個(gè)源文件組合而成;源文件存儲(chǔ)于系統(tǒng)的文件系統(tǒng)中,并且需要在源配置文件中聲明,只用在原配置文件中聲明使用的源文件才能被用于組合成目標(biāo)文件;
[0039]文件分析器:文件分析器是服務(wù)器的核心組件,負(fù)責(zé)接收http文件服務(wù)器的指令并根據(jù)配置文件讀取所需的源文件,并將其合并成目標(biāo)文件后,返回給客戶(hù)端。
[0040]其中源配置文件:源配置文件作為一個(gè)名為source, js的文本文件,里面定義系統(tǒng)中可用的源文件ID、版本和位置信息;自由在源配置文件中注冊(cè)過(guò)的源文件才能被系統(tǒng)用來(lái)組合成目標(biāo)文件。
[0041]在該源配置文件中,每一個(gè)源文件的id是唯一的,其對(duì)應(yīng)的是存儲(chǔ)與系統(tǒng)中的一個(gè)源文件,而且id不需要與文件名相同。
[0042]其中目標(biāo)配置文件:目標(biāo)配置文件是針對(duì)每一個(gè)想要訪(fǎng)問(wèn)的目標(biāo)java script文件的配置文件,可以有多個(gè),每一個(gè)目標(biāo)文件對(duì)應(yīng)一個(gè)目標(biāo)配置文件,目標(biāo)配置文件與目標(biāo)文件同名,是以.js為結(jié)尾的文本文件;
[0043]該目標(biāo)配置文件包含版本信息和源文件配置,版本信息是指對(duì)于同一個(gè)目標(biāo)文件,可以有多個(gè)不同的版本,通過(guò)版本號(hào)進(jìn)行區(qū)分;而源文件配置是指用于指明目標(biāo)文件由那些源文件構(gòu)成,在配置文件中指明的是源文件的id,而且必須是在源配置文件中存在的id;每個(gè)版本的目標(biāo)文件的源文件配置是獨(dú)立的,而且每個(gè)源文件都可以指定其版本。
[0044]客戶(hù)端在請(qǐng)求目標(biāo)文件時(shí)附帶的參數(shù)遵循標(biāo)準(zhǔn)的url參數(shù)規(guī)則,以“ ? ”開(kāi)始,使用key = value的形式,并用“&”作為多個(gè)參數(shù)的分隔。
[0045]該javascript動(dòng)態(tài)合并服務(wù)器的工作過(guò)程包含以下步驟:
[0046]1、客戶(hù)端發(fā)送.js文件請(qǐng)求:客戶(hù)端向java script動(dòng)態(tài)合并服務(wù)器發(fā)送一個(gè)請(qǐng)求,文件名為XX.js,并附帶兩個(gè)參數(shù);
[0047]2、http服務(wù)器解析請(qǐng)求及參數(shù):http文件服務(wù)器接收到請(qǐng)求后,會(huì)查找本地緩存,如果能在本地緩存找到符合要求的文件,將直接返回該文件;若無(wú)法在本地緩存中找到符合要求的文件,則將請(qǐng)求的XX.js和兩個(gè)參數(shù)發(fā)送給文件分析器;
[0048]3、文件解析器查找對(duì)應(yīng)的目標(biāo)配置文件:文件分析器解析接收到的,從http服務(wù)器發(fā)來(lái)的請(qǐng)求,解析后會(huì)查找名為XX.js的配置文件,若找不到相應(yīng)的配置文件,則返回一個(gè)404錯(cuò)誤;若找到相應(yīng)的配置文件后則進(jìn)行解析,得到組成該目標(biāo)文件的源文件id列表,列表的順序與配置文件中的id順序一致;
[0049]4、根據(jù)要求將需要的源文件組裝、壓縮成目標(biāo)文件:文件分析器查找到源配置文件,根據(jù)上一步得到的id列表,依次讀取指定的源文件,并根據(jù)參數(shù)的要求,將所有的源文件合并為一個(gè)文件,并寫(xiě)入本地緩存,緩存文件的命名方式為name_key_value ;
[0050]5、http服務(wù)器返回.js文件:生成文件之后,系統(tǒng)將生成的文件返回給客戶(hù)端,整個(gè)請(qǐng)求過(guò)程完成。
[0051]對(duì)于客戶(hù)端來(lái)說(shuō),調(diào)用java script文件的方式與傳統(tǒng)的文件服務(wù)器沒(méi)有不同,都是通過(guò)指定的URL地址請(qǐng)求指定的java script文件。
[0052]對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),多個(gè)自定義的javas cript文件的劃分及組合帶來(lái)了極大的自由和便利,而且本發(fā)明的使用門(mén)檻很低,沒(méi)有陡峭的學(xué)習(xí)曲線(xiàn),使系統(tǒng)的java script開(kāi)發(fā)從設(shè)計(jì)到編碼階段的流程都清晰可控,在開(kāi)發(fā)后期的修改和debug階段也會(huì)給開(kāi)發(fā)人員會(huì)帶來(lái)很大的便利。
[0053]以上所述,僅是本發(fā)明較佳實(shí)施例而已,并非對(duì)本發(fā)明作任何形式上的限制,雖然本發(fā)明以較佳實(shí)施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專(zhuān)業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當(dāng)可利用上述揭示的技術(shù)內(nèi)容做出些許變更或修飾為等同變化的等效實(shí)施例,但凡是未脫離本發(fā)明技術(shù)方案內(nèi)容,依據(jù)本發(fā)明技術(shù)是指對(duì)以上實(shí)施例所作的任何簡(jiǎn)單修改、等同變化與修飾,均屬于本發(fā)明技術(shù)方案的范圍內(nèi)。
【權(quán)利要求】
1.一種java script動(dòng)態(tài)合并服務(wù)器,該服務(wù)器通過(guò)配置文件和請(qǐng)求的不同參數(shù),動(dòng)態(tài)的將存儲(chǔ)于后臺(tái)的多個(gè)java scripts文件組合、壓縮成一個(gè)java script文件,并將其返回script動(dòng)態(tài)合并服務(wù)器的架構(gòu)包括http文件服務(wù)器、目標(biāo)文件、目標(biāo)文件參數(shù)、配置文件、源文件、文件分析器;其中: http文件服務(wù)器:負(fù)責(zé)接收對(duì)java script文件的http請(qǐng)求,針對(duì)每個(gè)請(qǐng)求的目標(biāo)文件和相應(yīng)參數(shù),向文件分析器發(fā)送文件合并的請(qǐng)求,并將合并好的結(jié)果文件緩存并返回; 目標(biāo)文件:目標(biāo)文件指客戶(hù)端所希望請(qǐng)求的java script文件,以.js為結(jié)尾的文件名為唯一標(biāo)識(shí),客戶(hù)端通過(guò)url請(qǐng)求目標(biāo)文件; 目標(biāo)文件參數(shù):客戶(hù)端在請(qǐng)求目標(biāo)文件的url內(nèi)可以帶上附加的參數(shù),用于指明請(qǐng)求文件的版本,壓縮狀態(tài); 配置文件:配置文件包括源配置文件和目標(biāo)配置文件,兩種配置文件均為JSON格式文件; 源文件:源文件是組成目標(biāo)的單個(gè)java script文件,每個(gè)目標(biāo)文件將由一個(gè)或多個(gè)源文件組合而成;源文件存儲(chǔ)于系統(tǒng)的文件系統(tǒng)中,并且需要在源配置文件中聲明,只用在原配置文件中聲明使用的源文件才能被用于組合成目標(biāo)文件; 文件分析器:文件分析器是服務(wù)器的核心組件,負(fù)責(zé)接收http文件服務(wù)器的指令并根據(jù)配置文件讀取所需的源文件,并將其合并成目標(biāo)文件后,返回給客戶(hù)端。
2.根據(jù)權(quán)利要求1所述javascript動(dòng)態(tài)合并服務(wù)器,其特征在于,該源配置文件作為一個(gè)名為source, js的文本文件,里面定義系統(tǒng)中可用的源文件ID、版本和位置信息;自由在源配置文件中注冊(cè)過(guò)的源文件才能被系統(tǒng)用來(lái)組合成目標(biāo)文件。
3.根據(jù)權(quán)利要求2所述javascript動(dòng)態(tài)合并服務(wù)器,其特征在于,在該源配置文件中,每一個(gè)源文件的id是唯一的,其對(duì)應(yīng)的是存儲(chǔ)與系統(tǒng)中的一個(gè)源文件,而且id不需要與文件名相同。
4.根據(jù)權(quán)利要求1所述javascript動(dòng)態(tài)合并服務(wù)器,其特征在于,客戶(hù)端在請(qǐng)求目標(biāo)文件時(shí)附帶的參數(shù)遵循標(biāo)準(zhǔn)的url參數(shù)規(guī)則,以“?”開(kāi)始,使用key = value的形式,并用“&”作為多個(gè)參數(shù)的分隔。
5.根據(jù)權(quán)利要求1所述javascript動(dòng)態(tài)合并服務(wù)器,其特征在于,其中目標(biāo)配置文件是針對(duì)每一個(gè)想要訪(fǎng)問(wèn)的目標(biāo)java script文件的配置文件,可以有多個(gè),每一個(gè)目標(biāo)文件對(duì)應(yīng)一個(gè)目標(biāo)配置文件,目標(biāo)配置文件與目標(biāo)文件同名,是以.js為結(jié)尾的文本文件。
6.根據(jù)權(quán)利要求5所述javascript動(dòng)態(tài)合并服務(wù)器,其特征在于,該目標(biāo)配置文件包含版本信息和源文件配置,版本信息是指對(duì)于同一個(gè)目標(biāo)文件,可以有多個(gè)不同的版本,通過(guò)版本號(hào)進(jìn)行區(qū)分;而源文件配置是指用于指明目標(biāo)文件由那些源文件構(gòu)成,在配置文件中指明的是源文件的id,而且必須是在源配置文件中存在的id ;每個(gè)版本的目標(biāo)文件的源文件配置是獨(dú)立的,而且每個(gè)源文件都可以指定其版本。
7.根據(jù)權(quán)利要求1所述javascript動(dòng)態(tài)合并服務(wù)器的工作過(guò)程包括以下步驟: 1)、客戶(hù)端發(fā)送.js文件請(qǐng)求:客戶(hù)端向javascript動(dòng)態(tài)合并服務(wù)器發(fā)送一個(gè)請(qǐng)求,文件名為XX.js,并附帶兩個(gè)參數(shù); 2)、http服務(wù)器解析請(qǐng)求及參數(shù):http文件服務(wù)器接收到請(qǐng)求后,會(huì)查找本地緩存,如果能在本地緩存找到符合要求的文件,將直接返回該文件;若無(wú)法在本地緩存中找到符合要求的文件,則將請(qǐng)求的XX.js和兩個(gè)參數(shù)發(fā)送給文件分析器; 3)、文件解析器查找對(duì)應(yīng)的目標(biāo)配置文件:文件分析器解析接收到的,從http服務(wù)器發(fā)來(lái)的請(qǐng)求,解析后會(huì)查找名為XX.js的配置文件,若找不到相應(yīng)的配置文件,則返回一個(gè)404錯(cuò)誤;若找到相應(yīng)的配置文件后則進(jìn)行解析,得到組成該目標(biāo)文件的源文件id列表,列表的順序與配置文件中的id順序一致; 4)、根據(jù)要求將需要的源文件組裝、壓縮成目標(biāo)文件:文件分析器查找到源配置文件,根據(jù)上一步得到的id列表,依次讀取指定的源文件,并根據(jù)參數(shù)的要求,將所有的源文件合并為一個(gè)文件,并寫(xiě)入本地緩存,緩存文件的命名方式為name_key_value ; 5)、http服務(wù)器返回.js文件:生成文件之后,系統(tǒng)將生成的文件返回給客戶(hù)端,整個(gè)請(qǐng)求過(guò)程完成。
【文檔編號(hào)】H04L29/08GK104283947SQ201410508935
【公開(kāi)日】2015年1月14日 申請(qǐng)日期:2014年9月28日 優(yōu)先權(quán)日:2014年9月28日
【發(fā)明者】須成忠, 林棟
申請(qǐng)人:深圳市中科無(wú)軟件有限公司