[發(fā)明專利]依賴模塊的加載方法、裝置及計算機(jī)程序產(chǎn)品在審
| 申請?zhí)枺?/td> | 202210153119.7 | 申請日: | 2022-02-18 |
| 公開(公告)號: | CN114637548A | 公開(公告)日: | 2022-06-17 |
| 發(fā)明(設(shè)計)人: | 畢洪博;宋照春 | 申請(專利權(quán))人: | 高德信息技術(shù)有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;G06F8/41 |
| 代理公司: | 北京智信四方知識產(chǎn)權(quán)代理有限公司 11519 | 代理人: | 鐘文芳 |
| 地址: | 100080 北京市海*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 依賴 模塊 加載 方法 裝置 計算機(jī) 程序 產(chǎn)品 | ||
1.一種依賴模塊的加載方法,其中,包括:
執(zhí)行腳本文件;
在加載依賴模塊時,確定所述依賴模塊是否被加載過;
在所述依賴模塊被加載過時,從所述預(yù)設(shè)存儲結(jié)構(gòu)獲取所述依賴模塊的對象信息;
在所述依賴模塊未被加載過時,加載所述依賴模塊;
將加載的所述依賴模塊的對象信息寫入預(yù)設(shè)存儲結(jié)構(gòu)中,以便在后續(xù)加載所述依賴模塊時,從所述預(yù)設(shè)存儲結(jié)構(gòu)直接獲取所述依賴模塊的對象信息。
2.根據(jù)權(quán)利要求1所述的方法,其中,在加載依賴模塊時,確定所述依賴模塊是否被加載過,包括:
確定所要加載的所述依賴模塊的路徑信息;
將所述路徑信息與已寫入所述預(yù)設(shè)存儲結(jié)構(gòu)中的鍵信息進(jìn)行匹配;
在所述路徑信息與所述預(yù)設(shè)存儲結(jié)構(gòu)中的任何一個鍵信息均不匹配時,確定所述依賴模塊未被加載過。
3.根據(jù)權(quán)利要求2所述的方法,其中,將加載的所述依賴模塊的對象信息寫入預(yù)設(shè)存儲結(jié)構(gòu)中,包括:
將所要加載的所述依賴模塊的路徑信息作為鍵信息,以及將所述依賴模塊的對象信息作為所述鍵信息對應(yīng)的值,生成鍵值對;
將所述鍵值對寫入預(yù)設(shè)存儲結(jié)構(gòu)。
4.根據(jù)權(quán)利要求3所述的方法,其中,所述方法還包括:
在所述路徑信息與所述預(yù)設(shè)存儲結(jié)構(gòu)中的其中一個鍵信息相匹配時,確定所述加載模塊被加載過,以及將相匹配的所述鍵信息對應(yīng)的值作為所述依賴模塊的對象信息。
5.根據(jù)權(quán)利要求1所述的方法,其中,所述方法還包括:
獲取待執(zhí)行的腳本文件;
對所述腳本文件進(jìn)行編譯;
在編譯過程中,確定所述腳本文件中依賴模塊的原始加載代碼的位置;
基于所述位置,將所述依賴模塊的原始加載代碼替換成自定義的加載代碼;
所述自定義的加載代碼包括第一代碼和第二代碼,所述第一代碼用于確定所述依賴模塊是否被加載過,所述第二代碼用于在所述依賴模塊未被加載過時執(zhí)行原始加載代碼以及在所述原始加載代碼執(zhí)行完成之后,將所加載的依賴模塊的對象信息寫入預(yù)設(shè)存儲結(jié)構(gòu)。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述自定義的加載代碼還包括第三代碼,所述第三代碼用于在所述依賴模塊被加載過時,從所述預(yù)設(shè)存儲結(jié)構(gòu)直接獲取所述依賴模塊的對象信息。
7.根據(jù)權(quán)利要求6所述的方法,其中,
所述第一代碼實(shí)現(xiàn)為將所述原始加載代碼中指定的所述依賴模塊的路徑信息與所述預(yù)設(shè)存儲結(jié)構(gòu)中的鍵信息進(jìn)行匹配;
所述第二代碼實(shí)現(xiàn)為在所述路徑信息與所述預(yù)設(shè)存儲結(jié)果中的任意一個鍵信息均不匹配時,調(diào)用所述原始記載代碼,以及在所述原始加載代碼執(zhí)行完成后,將所述依賴模塊的路徑信息作為鍵信息,將所述原始加載代碼返回的所述依賴模塊的對象信息作為所述鍵信息對應(yīng)的值寫入所述預(yù)設(shè)存儲結(jié)構(gòu);
所述第三代碼實(shí)現(xiàn)為在所述路徑信息與所述預(yù)設(shè)存儲結(jié)果中的其中一個鍵信息相匹配時,將相匹配的所述鍵信息對應(yīng)的值作為所述依賴模塊的對象信息并返回。
8.根據(jù)權(quán)利要求1-7任一項所述的方法,其中,所述腳本文件為JavaScript文件。
9.一種依賴模塊的加載裝置,其中,包括:
執(zhí)行模塊,被配置為執(zhí)行腳本文件;
第一確定模塊,被配置為在加載依賴模塊時,確定所述依賴模塊是否被加載過;
第一獲取模塊,被配置為在所述依賴模塊被加載過時,從所述預(yù)設(shè)存儲結(jié)構(gòu)獲取所述依賴模塊的對象信息;
加載模塊,被配置為在所述依賴模塊未被加載過時,加載所述依賴模塊;
寫入模塊,被配置為將加載的所述依賴模塊的對象信息寫入預(yù)設(shè)存儲結(jié)構(gòu)中,以便在后續(xù)加載所述依賴模塊時,從所述預(yù)設(shè)存儲結(jié)構(gòu)直接獲取所述依賴模塊的對象信息。
10.一種計算機(jī)程序產(chǎn)品,其包括計算機(jī)指令,其中,該計算機(jī)指令被處理器執(zhí)行時實(shí)現(xiàn)權(quán)利要求1-8任一項所述的方法。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于高德信息技術(shù)有限公司,未經(jīng)高德信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210153119.7/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





