本公開涉及計算機(jī),尤其涉及大數(shù)據(jù)、云服務(wù)等人工智能。提供了一種基于javascript語言的代碼的轉(zhuǎn)換方法、裝置、電子設(shè)備與可讀存儲介質(zhì)。
背景技術(shù):
1、對基于javascript語言的代碼進(jìn)行轉(zhuǎn)換,即對基于javascript語言的代碼進(jìn)行兼容性處理,從而使得新版本的javascript代碼可以在老版本的瀏覽器上運(yùn)行。因此,如何減小代碼轉(zhuǎn)換結(jié)果的體積并確保代碼轉(zhuǎn)換結(jié)果能夠正常運(yùn)行,是目前亟待解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、根據(jù)本公開的第一方面,提供了一種基于javascript語言的代碼的轉(zhuǎn)換方法,包括:使用轉(zhuǎn)換編譯器對目標(biāo)源代碼進(jìn)行代碼編譯,得到與所述目標(biāo)源代碼對應(yīng)的代碼編譯結(jié)果、以及需要在所述代碼編譯結(jié)果中引入的初始墊片與初始運(yùn)行時,所述目標(biāo)源代碼為基于javascript語言的代碼;根據(jù)所述初始墊片與所述初始運(yùn)行時得到第一目標(biāo)列表,并根據(jù)與所述初始運(yùn)行時對應(yīng)的第一依賴墊片,對所述第一目標(biāo)列表進(jìn)行檢測;響應(yīng)于檢測到所述第一目標(biāo)列表中不包括所述第一依賴墊片,將所述第一依賴墊片作為初始墊片添加到所述第一目標(biāo)列表中,得到第二目標(biāo)列表;根據(jù)所述代碼編譯結(jié)果、以及所述第二目標(biāo)列表中的初始墊片與初始運(yùn)行時,得到與所述目標(biāo)源代碼對應(yīng)的代碼轉(zhuǎn)換結(jié)果。
2、根據(jù)本公開的第二方面,提供了一種基于javascript語言的代碼的轉(zhuǎn)換裝置,包括:第一處理單元,用于使用轉(zhuǎn)換編譯器對目標(biāo)源代碼進(jìn)行代碼編譯,得到與所述目標(biāo)源代碼對應(yīng)的代碼編譯結(jié)果、以及需要在所述代碼編譯結(jié)果中引入的初始墊片與初始運(yùn)行時,所述目標(biāo)源代碼為基于javascript語言的代碼;檢測單元,用于根據(jù)所述初始墊片與所述初始運(yùn)行時得到第一目標(biāo)列表,并根據(jù)與所述初始運(yùn)行時對應(yīng)的第一依賴墊片,對所述第一目標(biāo)列表進(jìn)行檢測;添加單元,用于響應(yīng)于檢測到所述第一目標(biāo)列表中不包括所述第一依賴墊片,將所述第一依賴墊片作為初始墊片添加到所述第一目標(biāo)列表中,得到第二目標(biāo)列表;第二處理單元,用于根據(jù)所述代碼編譯結(jié)果、以及所述第二目標(biāo)列表中的初始墊片與初始運(yùn)行時,得到與所述目標(biāo)源代碼對應(yīng)的代碼轉(zhuǎn)換結(jié)果。
3、根據(jù)本公開的第三方面,提供了一種電子設(shè)備,包括:至少一個處理器;以及與所述至少一個處理器通信連接的存儲器;其中,所述存儲器存儲有可被所述至少一個處理器執(zhí)行的指令,所述指令被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行如上所述的方法。
4、根據(jù)本公開的第四方面,提供了一種存儲有計算機(jī)指令的非瞬時計算機(jī)可讀存儲介質(zhì),其中,所述計算機(jī)指令用于使所述計算機(jī)執(zhí)行如上所述的方法。
5、根據(jù)本公開的第五方面,提供了一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,所述計算機(jī)程序在被處理器執(zhí)行時實(shí)現(xiàn)如上所述的方法。
6、應(yīng)當(dāng)理解,本部分所描述的內(nèi)容并非旨在標(biāo)識本公開的實(shí)施例的關(guān)鍵或重要特征,也不用于限制本公開的范圍。本公開的其它特征將通過以下的說明書而變得容易理解。
1.一種基于javascript語言的代碼的轉(zhuǎn)換方法,包括:
2.根據(jù)權(quán)利要求1所述的方法,其中,所述根據(jù)與所述初始運(yùn)行時對應(yīng)的第一依賴墊片,對所述第一目標(biāo)列表進(jìn)行檢測包括:
3.根據(jù)權(quán)利要求1所述的方法,還包括,
4.根據(jù)權(quán)利要求3所述的方法,其中,所述確定所述候選引入內(nèi)容是否滿足預(yù)設(shè)要求包括:
5.根據(jù)權(quán)利要求3所述的方法,其中,所述將所述候選引入內(nèi)容添加到所述第二目標(biāo)列表中,得到第三目標(biāo)列表包括:
6.根據(jù)權(quán)利要求3所述的方法,其中,所述將所述候選引入內(nèi)容添加到所述第二目標(biāo)列表中,得到第三目標(biāo)列表包括:
7.根據(jù)權(quán)利要求3所述的方法,還包括,
8.一種基于javascript語言的代碼的轉(zhuǎn)換裝置,包括:
9.根據(jù)權(quán)利要求8所述的裝置,其中,所述檢測單元在根據(jù)與所述初始運(yùn)行時對應(yīng)的第一依賴墊片,對所述第一目標(biāo)列表進(jìn)行檢測時,具體執(zhí)行:
10.根據(jù)權(quán)利要求8所述的裝置,還包括第三處理單元,用于執(zhí)行:
11.根據(jù)權(quán)利要求10所述的裝置,其中,所述第三處理單元在確定所述候選引入內(nèi)容是否滿足預(yù)設(shè)要求時,具體執(zhí)行:
12.根據(jù)權(quán)利要求10所述的裝置,其中,所述第三處理單元在將所述候選引入內(nèi)容添加到所述第二目標(biāo)列表中,得到第三目標(biāo)列表時,具體執(zhí)行:
13.根據(jù)權(quán)利要求10所述的裝置,其中,所述第三處理單元在將所述候選引入內(nèi)容添加到所述第二目標(biāo)列表中,得到第三目標(biāo)列表時,具體執(zhí)行:
14.根據(jù)權(quán)利要求10所述的裝置,所述第三處理單元還用于執(zhí)行:
15.一種電子設(shè)備,包括:
16.一種存儲有計算機(jī)指令的非瞬時計算機(jī)可讀存儲介質(zhì),其中,所述計算機(jī)指令用于使所述計算機(jī)執(zhí)行權(quán)利要求1-7中任一項(xiàng)所述的方法。
17.一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,所述計算機(jī)程序在被處理器執(zhí)行時實(shí)現(xiàn)根據(jù)權(quán)利要求1-7中任一項(xiàng)所述的方法。