国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于前端開(kāi)發(fā)的加速構(gòu)建方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)與流程

      文檔序號(hào):40102408發(fā)布日期:2024-11-27 11:48閱讀:11來(lái)源:國(guó)知局
      用于前端開(kāi)發(fā)的加速構(gòu)建方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)與流程

      本發(fā)明涉及前端開(kāi)發(fā),特別涉及一種用于前端開(kāi)發(fā)的加速構(gòu)建方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。


      背景技術(shù):

      1、隨著web應(yīng)用程序復(fù)雜性的增加,前端構(gòu)建過(guò)程變得越來(lái)越耗時(shí)。現(xiàn)有的前端構(gòu)建工具(如webpack、parcel等)雖然功能強(qiáng)大,但在處理大規(guī)模項(xiàng)目時(shí),構(gòu)建速度往往成為開(kāi)發(fā)過(guò)程中的瓶頸。常見(jiàn)的性能瓶頸包括:大量的依賴包和模塊增加了解析和編譯的時(shí)間。在開(kāi)發(fā)過(guò)程中,文件的頻繁變更需要進(jìn)行高效的增量構(gòu)建。重復(fù)編譯沒(méi)有變更的代碼,浪費(fèi)了大量時(shí)間和資源。

      2、可見(jiàn),現(xiàn)有技術(shù)還有待改進(jìn)和提高。


      技術(shù)實(shí)現(xiàn)思路

      1、鑒于上述現(xiàn)有技術(shù)的不足之處,本發(fā)明的目的在于提供一種用于前端開(kāi)發(fā)的加速構(gòu)建方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),旨在解決現(xiàn)有技術(shù)中大規(guī)模項(xiàng)目開(kāi)發(fā)時(shí),存在重復(fù)編譯,導(dǎo)致前端構(gòu)建速度慢的技術(shù)問(wèn)題。

      2、為了達(dá)到上述目的,本發(fā)明采取了以下技術(shù)方案:

      3、本發(fā)明第一方面提供了一種用于前端開(kāi)發(fā)的加速構(gòu)建方法,包括如下步驟:

      4、獲取項(xiàng)目的歷史使用數(shù)據(jù)和代碼邏輯,根據(jù)所述歷史使用數(shù)據(jù)和代碼邏輯確定關(guān)鍵路徑上的依賴模塊;監(jiān)控項(xiàng)目目錄下的文件變更,根據(jù)文件變更結(jié)果對(duì)受影響的依賴模塊進(jìn)行重新編譯,得到編譯結(jié)果;將所述編譯結(jié)果緩存到本地儲(chǔ)存,通過(guò)構(gòu)建緩存過(guò)期和失效機(jī)制更新所述依賴模塊及其編譯結(jié)果;從本地儲(chǔ)存中獲取所述編譯結(jié)果,根據(jù)編譯結(jié)果構(gòu)建項(xiàng)目。

      5、可選的,在本發(fā)明第一方面的第一種實(shí)現(xiàn)方式中,所述獲取項(xiàng)目的歷史使用數(shù)據(jù)和代碼邏輯,根據(jù)所述歷史使用數(shù)據(jù)和代碼邏輯確定關(guān)鍵路徑上的依賴模塊,具體包括:獲取項(xiàng)目的歷史使用數(shù)據(jù)和代碼邏輯,根據(jù)所述歷史使用數(shù)據(jù)和代碼邏輯預(yù)測(cè)可能被使用的依賴模塊;采用線程預(yù)加載所述依賴模塊,獲得加載結(jié)果,通過(guò)依賴關(guān)系分析工具分析所述加載結(jié)果,以獲得依賴關(guān)系圖;根據(jù)所述依賴關(guān)系圖確定關(guān)鍵路徑上的依賴模塊,并對(duì)關(guān)鍵路徑上的依賴模塊設(shè)置更高的加載優(yōu)先級(jí),采用優(yōu)先級(jí)隊(duì)列對(duì)關(guān)鍵路徑上的依賴模塊進(jìn)行管理。

      6、可選的,在本發(fā)明第一方面的第二種實(shí)現(xiàn)方式中,所述獲取項(xiàng)目的歷史使用數(shù)據(jù)和代碼邏輯,根據(jù)所述歷史使用數(shù)據(jù)和代碼邏輯預(yù)測(cè)可能被使用的依賴模塊,具體包括:獲取項(xiàng)目的歷史使用數(shù)據(jù)和代碼邏輯,對(duì)所述項(xiàng)目的歷史使用數(shù)據(jù)和代碼邏輯進(jìn)行清洗和預(yù)處理,以獲得標(biāo)準(zhǔn)化數(shù)據(jù);構(gòu)建預(yù)測(cè)模型,采用交叉驗(yàn)證評(píng)估模型性能,根據(jù)評(píng)估結(jié)果優(yōu)化預(yù)測(cè)模型;將所述標(biāo)準(zhǔn)化數(shù)據(jù)輸入預(yù)測(cè)模型,以獲得可能被使用的依賴模塊。

      7、可選的,在本發(fā)明第一方面的第三種實(shí)現(xiàn)方式中,所述監(jiān)控項(xiàng)目目錄下的文件變更,根據(jù)文件變更結(jié)果對(duì)受影響的依賴模塊進(jìn)行重新編譯,得到編譯結(jié)果,具體包括:確定需監(jiān)控的項(xiàng)目目錄和文件類型,并對(duì)初始化文件系統(tǒng)監(jiān)視工具進(jìn)行設(shè)置,以監(jiān)控是否存在變更文件;若發(fā)現(xiàn)變更文件,獲取變更文件的路徑和類型,并根據(jù)依賴關(guān)系圖判斷與所述變更文件相關(guān)的依賴模塊是否需要重新編譯;若需要重新編譯,對(duì)需要重新編譯的依賴模塊進(jìn)行標(biāo)記,獲得標(biāo)記模塊,將所述標(biāo)記模塊放入編譯隊(duì)列以進(jìn)行重新編譯,得到編譯結(jié)果。

      8、可選的,在本發(fā)明第一方面的第四種實(shí)現(xiàn)方式中,所述若需要重新編譯,對(duì)需要重新編譯的依賴模塊進(jìn)行標(biāo)記,獲得標(biāo)記模塊,將所述標(biāo)記模塊放入編譯隊(duì)列以進(jìn)行重新編譯,得到編譯結(jié)果,具體包括:若需要重新編譯,對(duì)需要重新編譯的依賴模塊進(jìn)行標(biāo)記,所述依賴模塊包括與變更文件相關(guān)的直接依賴模塊和間接依賴模塊;根據(jù)依賴關(guān)系圖對(duì)標(biāo)記的直接依賴模塊和間接依賴模塊進(jìn)行排序,以獲得排序結(jié)果;根據(jù)排序結(jié)果將標(biāo)記的直接依賴模塊和間接依賴模塊依次放入編譯隊(duì)列,以重新編譯,得到編譯結(jié)果。

      9、可選的,在本發(fā)明第一方面的第五種實(shí)現(xiàn)方式中,所述將所述編譯結(jié)果緩存到本地儲(chǔ)存,通過(guò)構(gòu)建緩存過(guò)期和失效機(jī)制更新所述依賴模塊及其編譯結(jié)果,具體包括:將所述編譯結(jié)果輸出存儲(chǔ)在本地高速緩存,采用哈希算法對(duì)編譯結(jié)果進(jìn)行指紋化,以生成唯一標(biāo)識(shí)符,所述唯一標(biāo)識(shí)符作為緩存的鍵值;為每個(gè)緩存的編譯結(jié)果設(shè)置有效期,根據(jù)所設(shè)置的有效期對(duì)所述編譯結(jié)果進(jìn)行過(guò)期淘汰處理;獲取文件變更結(jié)果,根據(jù)文件變更結(jié)果無(wú)效緩存中需重新編譯的依賴模塊所對(duì)應(yīng)的編譯結(jié)果。

      10、可選的,在本發(fā)明第一方面的第六種實(shí)現(xiàn)方式中,所述從本地儲(chǔ)存中獲取所述編譯結(jié)果,根據(jù)編譯結(jié)果構(gòu)建項(xiàng)目,具體包括:從本地儲(chǔ)存中獲取所述編譯結(jié)果,驗(yàn)證編譯結(jié)果的完整性和有效性,對(duì)驗(yàn)證未通過(guò)的編譯結(jié)果所對(duì)應(yīng)的依賴模塊進(jìn)行重新編譯;采用構(gòu)建系統(tǒng),根據(jù)所述編譯結(jié)果構(gòu)建項(xiàng)目;對(duì)構(gòu)建后的項(xiàng)目進(jìn)行驗(yàn)證,所述驗(yàn)證包括運(yùn)行單元測(cè)試或集成測(cè)試。

      11、本發(fā)明第二方面提供了一種用于前端開(kāi)發(fā)的加速構(gòu)建裝置,包括:處理模塊,用于獲取項(xiàng)目的歷史使用數(shù)據(jù)和代碼邏輯,根據(jù)所述歷史使用數(shù)據(jù)和代碼邏輯確定關(guān)鍵路徑上的依賴模塊;編譯模塊,用于監(jiān)控項(xiàng)目目錄下的文件變更,根據(jù)文件變更結(jié)果對(duì)受影響的依賴模塊進(jìn)行重新編譯,得到編譯結(jié)果;更新模塊,用于將所述編譯結(jié)果緩存到本地儲(chǔ)存,通過(guò)構(gòu)建緩存過(guò)期和失效機(jī)制更新所述依賴模塊及其編譯結(jié)果;構(gòu)建模塊,用于從本地儲(chǔ)存中獲取所述編譯結(jié)果,根據(jù)編譯結(jié)果構(gòu)建項(xiàng)目。

      12、可選的,在本發(fā)明第二方面的第一種實(shí)現(xiàn)方式中,所述處理模塊包括:預(yù)測(cè)子模塊,用于獲取項(xiàng)目的歷史使用數(shù)據(jù)和代碼邏輯,根據(jù)所述歷史使用數(shù)據(jù)和代碼邏輯預(yù)測(cè)可能被使用的依賴模塊;分析子模塊,用于采用線程預(yù)加載所述依賴模塊,獲得加載結(jié)果,通過(guò)依賴關(guān)系分析工具分析所述加載結(jié)果,以獲得依賴關(guān)系圖;管理子模塊,用于根據(jù)所述依賴關(guān)系圖確定關(guān)鍵路徑上的依賴模塊,并對(duì)關(guān)鍵路徑上的依賴模塊設(shè)置更高的加載優(yōu)先級(jí),采用優(yōu)先級(jí)隊(duì)列對(duì)關(guān)鍵路徑上的依賴模塊進(jìn)行管理。

      13、可選的,在本發(fā)明第二方面的第二種實(shí)現(xiàn)方式中,所述預(yù)測(cè)子模塊包括:預(yù)處理單元,用于獲取項(xiàng)目的歷史使用數(shù)據(jù)和代碼邏輯,對(duì)所述項(xiàng)目的歷史使用數(shù)據(jù)和代碼邏輯進(jìn)行清洗和預(yù)處理,以獲得標(biāo)準(zhǔn)化數(shù)據(jù);構(gòu)建單元,用于構(gòu)建預(yù)測(cè)模型,采用交叉驗(yàn)證評(píng)估模型性能,根據(jù)評(píng)估結(jié)果優(yōu)化預(yù)測(cè)模型;預(yù)測(cè)單元,用于將所述標(biāo)準(zhǔn)化數(shù)據(jù)輸入預(yù)測(cè)模型,以獲得可能被使用的依賴模塊。

      14、可選的,在本發(fā)明第二方面的第三種實(shí)現(xiàn)方式中,所述編譯模塊包括:監(jiān)控子模塊,用于確定需監(jiān)控的項(xiàng)目目錄和文件類型,并對(duì)初始化文件系統(tǒng)監(jiān)視工具進(jìn)行設(shè)置,以監(jiān)控是否存在變更文件;判斷子模塊,用于若發(fā)現(xiàn)變更文件,獲取變更文件的路徑和類型,并根據(jù)依賴關(guān)系圖判斷與所述變更文件相關(guān)的依賴模塊是否需要重新編譯;編譯子模塊,用于若需要重新編譯,對(duì)需要重新編譯的依賴模塊進(jìn)行標(biāo)記,獲得標(biāo)記模塊,將所述標(biāo)記模塊放入編譯隊(duì)列以進(jìn)行重新編譯,得到編譯結(jié)果。

      15、可選的,在本發(fā)明第二方面的第四種實(shí)現(xiàn)方式中,所述編譯子模塊包括:標(biāo)記單元,用于若需要重新編譯,對(duì)需要重新編譯的依賴模塊進(jìn)行標(biāo)記,所述依賴模塊包括與變更文件相關(guān)的直接依賴模塊和間接依賴模塊;排序單元,用于根據(jù)依賴關(guān)系圖對(duì)標(biāo)記的直接依賴模塊和間接依賴模塊進(jìn)行排序,以獲得排序結(jié)果;編譯單元,用于根據(jù)排序結(jié)果將標(biāo)記的直接依賴模塊和間接依賴模塊依次放入編譯隊(duì)列,以重新編譯,得到編譯結(jié)果。

      16、可選的,在本發(fā)明第二方面的第五種實(shí)現(xiàn)方式中,所述更新模塊包括:哈希單元,用于將所述編譯結(jié)果輸出存儲(chǔ)在本地高速緩存,采用哈希算法對(duì)編譯結(jié)果進(jìn)行指紋化,以生成唯一標(biāo)識(shí)符,所述唯一標(biāo)識(shí)符作為緩存的鍵值;淘汰單元,用于為每個(gè)緩存的編譯結(jié)果設(shè)置有效期,根據(jù)所設(shè)置的有效期對(duì)所述編譯結(jié)果進(jìn)行過(guò)期淘汰處理;更新單元,用于獲取文件變更結(jié)果,根據(jù)文件變更結(jié)果無(wú)效緩存中需重新編譯的依賴模塊所對(duì)應(yīng)的編譯結(jié)果。

      17、可選的,在本發(fā)明第二方面的第六種實(shí)現(xiàn)方式中,所述構(gòu)建模塊包括:驗(yàn)證單元,用于從本地儲(chǔ)存中獲取所述編譯結(jié)果,驗(yàn)證編譯結(jié)果的完整性和有效性,對(duì)驗(yàn)證未通過(guò)的編譯結(jié)果所對(duì)應(yīng)的依賴模塊進(jìn)行重新編譯;建立單元,用于采用構(gòu)建系統(tǒng),根據(jù)所述編譯結(jié)果構(gòu)建項(xiàng)目;測(cè)試單元,用于對(duì)構(gòu)建后的項(xiàng)目進(jìn)行驗(yàn)證,所述驗(yàn)證包括運(yùn)行單元測(cè)試或集成測(cè)試。

      18、本發(fā)明第三方面提供了一種用于前端開(kāi)發(fā)的加速構(gòu)建設(shè)備,包括存儲(chǔ)器和至少一個(gè)處理器,所述存儲(chǔ)器中存儲(chǔ)有計(jì)算機(jī)可讀指令;所述至少一個(gè)處理器調(diào)用所述存儲(chǔ)器中的所述計(jì)算機(jī)可讀指令,以執(zhí)行如上所述用于前端開(kāi)發(fā)的加速構(gòu)建方法的各個(gè)步驟。

      19、本發(fā)明第四方面提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)可讀指令,所述計(jì)算機(jī)可讀指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述用于前端開(kāi)發(fā)的加速構(gòu)建方法的各個(gè)步驟。

      20、有益效果:本發(fā)明提供了一種用于前端開(kāi)發(fā)的加速構(gòu)建方法,該方法通過(guò)先獲取項(xiàng)目的歷史使用數(shù)據(jù)和代碼邏輯,根據(jù)所述歷史使用數(shù)據(jù)和代碼邏輯確定關(guān)鍵路徑上的依賴模塊;然后通過(guò)監(jiān)控項(xiàng)目目錄下的文件變更,根據(jù)文件變更結(jié)果對(duì)受影響的依賴模塊進(jìn)行重新編譯,得到編譯結(jié)果;同時(shí)將所述編譯結(jié)果緩存到本地儲(chǔ)存,通過(guò)構(gòu)建緩存過(guò)期和失效機(jī)制更新所述依賴模塊及其編譯結(jié)果,有效避免了重復(fù)編譯問(wèn)題;最后在構(gòu)件項(xiàng)目時(shí),優(yōu)先從本地儲(chǔ)存中獲取編譯結(jié)果,縮短了構(gòu)建時(shí)間,顯著提高了前端構(gòu)建的速度和效率。

      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1