[發明專利]項目開發方法、裝置、電子設備及存儲介質有效
| 申請號: | 202110265748.4 | 申請日: | 2021-03-11 |
| 公開(公告)號: | CN113031932B | 公開(公告)日: | 2023-10-20 |
| 發明(設計)人: | 陶宏暉;梁沁;曾慶宇;但超 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/38;G06F9/445 |
| 代理公司: | 北京市立方律師事務所 11330 | 代理人: | 張筱寧 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 項目 開發 方法 裝置 電子設備 存儲 介質 | ||
1.一種項目開發方法,其特征在于,包括:
獲取當前開發平臺用于構建用戶界面的前端組件,并在所述前端組件中加載編譯插件;
基于所述編譯插件對所述前端組件進行編譯,生成編譯結果文件;
在目標開發平臺下加載所述編譯結果文件,以生成目標組件。
2.根據權利要求1所述的方法,其特征在于,所述前端組件采用Vue同構標準;所述編譯插件包括用于編譯前端框架的第一插件,和用于編譯語言的第二插件中的至少一種。
3.根據權利要求2所述的方法,其特征在于,所述基于所述編譯插件對所述前端組件進行編譯,生成編譯結果文件,包括以下至少一項:
采用所述第一插件的腳本代碼生成模式,對所述前端組件進行編譯,生成用于動態執行的第一編譯結果文件;
采用所述第一插件的靜態代碼生成模式,對所述前端組件進行編譯,生成用于二次編譯的第二編譯結果文件。
4.根據權利要求3所述的方法,其特征在于,所述采用所述第一插件的腳本代碼生成模式,對所述前端組件進行編譯,生成用于動態執行的第一編譯結果文件,包括:
采用所述第一插件的腳本代碼生成模式,對所述前端組件及其依賴的結構進行編譯,生成超文本標記語言HTML、層疊樣式表CSS和編程語言JS文件;
采用所述第二插件對JS文件進行編譯,生成包含抽象語法樹的JSON文件;
將HTML文件、CSS文件和JSON文件打包為第一編譯結果文件。
5.根據權利要求4所述的方法,其特征在于,所述在目標開發平臺下加載所述編譯結果文件,以生成目標組件,包括:
采用目標開發平臺中引入的邏輯執行器對所述第一編譯結果文件進行解析,生成在所述目標開發平臺中運行的目標組件。
6.根據權利要求5所述的方法,其特征在于,所述采用目標開發平臺中引入的邏輯執行器對所述第一編譯結果文件進行解析,生成在所述目標開發平臺中運行的目標組件,包括:
遍歷所述HTML文件對應的DOM結構,生成第一樹形結構文件;
解析所述CSS文件,確定樹形結構每個節點對應的樣式,并基于該樣式更新所述第一樹形結構文件;
解析所述JSON文件,并結合所述第一樹形結構文件,生成在所述目標開發平臺中運行的目標組件。
7.根據權利要求6所述的方法,其特征在于,所述解析所述JSON文件,并結合所述第一樹形結構文件,生成在所述目標開發平臺中運行的目標組件,包括:
采用所述邏輯執行器中動態運行抽象語法樹的容器解析并運行基于所述JSON文件中抽象語法樹的表達式,并結合所述第一樹形結構文件,生成在所述目標開發平臺中運行的目標組件;
其中,在解析和運行過程中涉及的變量均采用壓入變量棧的方式進行操作。
8.根據權利要求3所述的方法,其特征在于,所述采用所述第一插件的靜態代碼生成模式,對所述前端組件進行編譯,生成用于二次編譯的第二編譯結果文件,包括:
采用所述第一插件的靜態代碼生成模式,對所述前端組件及其依賴的結構進行編譯,生成HTML、CSS和JS文件;
采用所述第二插件對HTML、CSS和JS文件進行編譯,生成目標開發平臺的程序代碼;
將所述目標開發平臺的程序代碼打包為第二編譯結果文件。
9.根據權利要求8所述的方法,其特征在于,所述采用所述第二插件對HTML、CSS和JS文件進行編譯,生成目標開發平臺的程序代碼,包括:
采用所述第二插件對HTML文件和CSS文件進行代碼的映射處理,得到第一程序代碼;
采用所述第二插件對JS文件進行轉義,得到第二程序代碼;
合并所述第一程序代碼和第二程度代碼,得到目標開發平臺的程序代碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110265748.4/1.html,轉載請聲明來源鉆瓜專利網。





