CN117555535A - 一种React框架中实现多环境代码复用方法 - Google Patents

一种React框架中实现多环境代码复用方法 Download PDF

Info

Publication number
CN117555535A
CN117555535A CN202410028724.0A CN202410028724A CN117555535A CN 117555535 A CN117555535 A CN 117555535A CN 202410028724 A CN202410028724 A CN 202410028724A CN 117555535 A CN117555535 A CN 117555535A
Authority
CN
China
Prior art keywords
line
code
conditional branch
environment
block information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202410028724.0A
Other languages
English (en)
Other versions
CN117555535B (zh
Inventor
马海
杜颍萱
游凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yunzhu Information Technology Chengdu Co ltd
Original Assignee
Yunzhu Information Technology Chengdu Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yunzhu Information Technology Chengdu Co ltd filed Critical Yunzhu Information Technology Chengdu Co ltd
Priority to CN202410028724.0A priority Critical patent/CN117555535B/zh
Priority claimed from CN202410028724.0A external-priority patent/CN117555535B/zh
Publication of CN117555535A publication Critical patent/CN117555535A/zh
Application granted granted Critical
Publication of CN117555535B publication Critical patent/CN117555535B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis

Abstract

本发明公开了一种React框架中实现多环境代码复用方法,包括定义并存储前端项目的环境标识;定义注释语法,采用注释语法编写前端文件的JS代码,JS代码包含嵌套代码块;根据JS代码判断前端文件是否需要静态编译,若需要静态编译则以换行符为分割符将前端文件的字符串转换为数组;对数组进行迭代,识别出嵌套代码块,生成并存储嵌套代码块的块信息;遍历块信息,根据环境标识编译嵌套代码块;编写React类组件,基于环境标识导出不同React子类组件。本发明适应多环境的代码开发和维护,抽离出通用的业务逻辑,只维护各个使用环境个性化的逻辑或者UI交互即可。

Description

一种React框架中实现多环境代码复用方法
技术领域
本发明涉及代码复用技术领域,具体涉及一种React框架中实现多环境代码复用方法。
背景技术
Javascript简称JS代码,是一种解释性脚本语言,这种脚本语言不需要编译即可运行。以谷歌V8引擎为例,当运行时才会将JS代码转变为字节码,然后一行一行的去运行,所以跟C++、Java这种编译形语言不同,C++、Java需要一个编译器将源代码编译成可执行文件。JS代码不存在编译的步骤导致在需要根据不同环境执行不同代码时存在很大的难度,也不存在宏定义的方式对代码进行区隔,只能从代码逻辑上去进行实现各个环境下的代码。
比如,当前的JS前端项目越来越复杂,特别是近年来Paas、Saas化的趋势,要求代码能高度集成并高复用,为减少开发和维护成本,基本是一套代码多环境、多终端进行复用,而根据以往实践,基本是一个环境,一个终端(web、移动端)都会用一套代码进行维护,而这其中很多核心代码几乎可以通用,只是因为在不同的终端或者环境有不同的视觉交互却要用不同的代码仓库进行维护开发,所以对于JS开发的前端项目,急需要一种编译方式来实现多端代码的复用,以一个项目来支撑多环境、多终端的应用开发,从而节约大量的开发和维护成本。
比如一个Saas化的项目,在WEB端的UI交互和HTML5端的UI交互存在不一致的情况,通常需要对两个端单独开发,但是底层跟服务端的数据交互、业务逻辑完全相同,若增加一个需求,两个端都需要同时开发,这无疑增加了开发和维护的成本,所以急需要一种抽离这种差异化的代码方式,完成多端或各业务环境的需求开发。
发明内容
本发明要解决的技术问题是:提供一种React框架中实现多环境代码复用方法,以至少解决上述部分技术问题。
为实现上述目的,本发明采用的技术方案如下:
一种React框架中实现多环境代码复用方法,包括以下步骤:
步骤1、定义并存储前端项目的环境标识;
步骤2、定义注释语法,采用注释语法编写前端文件的JS代码,JS代码包含嵌套代码块;
步骤3、根据JS代码判断前端文件是否需要静态编译,若需要静态编译则以换行符为分割符将前端文件的字符串转换为数组,若不需要静态编译则直接返回空信息;
步骤4、对数组进行迭代,识别出嵌套代码块,生成并存储嵌套代码块的块信息;
步骤5、遍历块信息,根据环境标识编译嵌套代码块;
步骤6、编写React类组件,在父类组件中构建通用的逻辑代码,根据编译的嵌套代码块导出不同的子类组件。
进一步地,步骤1中,环境标识包括前端项目是否为WEB端和是否为HTML5端的两个标识。
进一步地,步骤1中,采用一个对象字面量存储环境标识。
进一步地,步骤2中,JS代码为包含多个代码行的代码块,代码行包括起始行、第一条件分支行、第二条件分支行和结束行,起始行、第一条件分支行、第二条件分支行内包含有嵌套代码块。
进一步地,步骤2中,采用一一对应的注释语法编写起始行、第一条件分支行、第二条件分支行和结束行,起始行、第一条件分支行、第二条件分支行的注释语法后均设有分支条件,若逻辑命中一个分支条件,则其它分支条件都不执行。
进一步地,步骤2中,起始行、第一条件分支行和第二条件分支行前添加有注释块。
进一步地,步骤3包括:步骤31、读取前端文件的字节,将字节转换成字符串;步骤32、在步骤31转化的字符串中搜索是否存在注释语法的字符串,若存在则以换行符为分割符将步骤31的字符串转换为数组,若不需要静态编译则直接返回空信息。
进一步地,步骤4包括:步骤41、对数组进行迭代,依次判断当前行是否为起始行、第一条件分支行、第二条件分支行或结束行,若是则标记当前行为起始行、第一条件分支行、第二条件分支行或结束行,并且记录对应的行号,识别出嵌套代码块;步骤42、采用数据结构存储嵌套代码块的块信息,块信息包括代码行的标记的名称和行号。
进一步地,步骤5包括:步骤51、获取块信息的起始行,获取环境标识和JS代码中起始行的分支条件,根据环境标识计算起始行的分支条件的真假,若为真,则根据块信息保留起始行和结束行并转换第一条件分支行、第二条件分支行为注释行;若为假,则根据块信息转换起始行为注释行,再进行步骤52;步骤52、获取块信息的第一条件分支行,获取环境标识和JS代码中第一条件分支行的分支条件,根据环境标识计算第一条件分支行的分支条件的真假,若为真,则根据块信息保留第一条件分支行和结束行并转换第二条件分支行为注释行;若为假,则根据块信息转换第一条件分支行为注释行,再进行步骤53;步骤53、获取块信息的第二条件分支行,获取环境标识和JS代码中第二条件分支行的分支条件,根据环境标识计算第二条件分支行的分支条件的真假,若为真,则根据块信息保留第二条件分支行和结束行;若为假,则根据块信息保留结束行并转换第二条件分支行为注释行。
进一步地,步骤6中,采用Base类构建通用的逻辑代码,根据不同的环境标识,使交互类继承通用的逻辑代码的Base类。
与现有技术相比,本发明具有以下有益效果:
本发明按前端文件对代码进行编译,再结合react的类组件继承的特性,适应多环境的代码开发和维护,抽离出通用的业务逻辑,只维护各个使用环境个性化的逻辑或者UI交互即可。
附图说明
图1为本发明的方法流程图。
图2为数组迭代流程图。
图3为遍历块信息流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进一步详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
术语解释:
Javascript:是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。
Paas:是平台即服务(Platform as a Service)的简称。
Saas:是软件即服务(Software as a Service)的简称。
WEB端:是指电脑的网页端。
HTML5端:是一种基于HTML5技术开发的移动端网页。
React框架:是用来构建用户界面的JavaScript开发框架。
Css文件:是一种采用Css规定的语法规则编写的文本文件。
UI:是指软件人机交互、操作逻辑、界面美观的整体设计。
Base类:是指一个类层次结构中最顶层的类。
如图1所示,本发明提供的一种React框架中实现多环境代码复用方法,包括以下步骤:
步骤1、定义并存储前端项目的环境标识;
步骤2、定义注释语法,采用注释语法编写前端文件的JS代码,JS代码包含嵌套代码块;
步骤3、根据JS代码判断前端文件是否需要静态编译,若需要静态编译则以换行符为分割符将前端文件的字符串转换为数组,若不需要静态编译则直接返回空信息;
步骤4、对数组进行迭代,识别出嵌套代码块,生成并存储嵌套代码块的块信息;
步骤5、遍历块信息,根据环境标识编译嵌套代码块;
步骤6、编写React类组件,在父类组件中构建通用的逻辑代码,根据编译的嵌套代码块导出不同的子类组件。
本发明按前端文件对代码进行编译,再结合react的类组件继承的特性,适应多环境的代码开发和维护,抽离出通用的业务逻辑,只维护各个使用环境个性化的逻辑或者UI交互即可。
在部分实施例中,环境标识包括前端项目是否为WEB端和是否为HTML5端的两个标识。标识可由用户自定义,例如“WEB:false” 代表标识非WEB端,“H5: true”代表标识为HTML5端。环境标识还包括其他标识的配置。
在部分实施例中,采用一个对象字面量存储环境标识。
在部分实施例中,JS代码为包含多个代码行的代码块,代码行包括起始行、第一条件分支行、第二条件分支行和结束行,起始行、第一条件分支行、第二条件分支行内包含有嵌套代码块。其中起始行和结束行是一个完整的代码块所所必需的。
JS代码的编写逻辑如:将“若前端项目是WEB端,则引入WEB端的代码”作为需要静态编译的起始行;将“若前端项目是HTML5端,则引入HTML5端的代码”作为需要静态编译的第一条件分支行;将“若前端项目不是WEB端和HTML5端,则引入其它端的代码”作为需要静态编译的第二条件分支行。采用一一对应的注释语法编写起始行、第一条件分支行、第二条件分支行和结束行。注释语法如:“//#IF”表示需要静态编译的起始行,“//#ELIF”表示需要静态编译的第一条件分支行,“//#ELSE”表示需要静态编译的第二条件分支行,“//#END”表示需要静态编译的结束行。起始行、第一条件分支行和第二条件分支行前添加有注释块,例如以上“//”表示注释块,在原生的JS语法中起注释作用,且不影响JS原有的语法,侵入性更小。起始行、第一条件分支行、第二条件分支行的注释语法后均设有分支条件,若逻辑命中一个分支条件,则其它分支条件都不执行。JS代码包含嵌套代码块,其注释语法可嵌套使用。
在部分实施例中,步骤3包括:步骤31、读取前端文件的字节,将字节转换成字符串,作为优选,调用框架方法将字节转换成字符串;步骤32、在步骤31转化的字符串中搜索是否存在注释语法的字符串,若存在则以换行符为分割符将步骤31的字符串转换为数组,此时数组的下标就是前端文件的行号信息,若不需要静态编译则直接返回空信息。
如图2所示,在部分实施例中,步骤4包括:步骤41、对数组进行迭代,依次判断当前行是否为起始行、第一条件分支行、第二条件分支行或结束行,若是则标记当前行为起始行、第一条件分支行、第二条件分支行或结束行,例如:若是起始行则标记为startLine,若是第一条件分支行则标记为elLine,若是第二条件分支行则标记为elseLine,若是结束行则标记为endLine,并且记录对应的行号,例如:startLine:0、elLine:[2]、elseLine:4、endLine:6,#ELIF是可以存在多个的,所以是个数组[ ],其它条件只会存在一个,如此识别出嵌套代码块;步骤42、采用数据结构存储嵌套代码块的块信息,块信息包括代码行的标记的名称和行号。
如图3所示,在部分实施例中,步骤5包括:步骤51、获取块信息的起始行,获取环境标识和JS代码中起始行的分支条件,根据环境标识计算起始行的分支条件的真假,若为真,则根据块信息保留起始行和结束行并转换第一条件分支行、第二条件分支行为注释行,并且从块信息获取起始行和结束行的行号;若为假,则根据块信息转换起始行为注释行,即不保留起始行,再进行步骤52;步骤52、获取块信息的第一条件分支行,获取环境标识和JS代码中第一条件分支行的分支条件,根据环境标识计算第一条件分支行的分支条件的真假,若为真,则根据块信息保留第一条件分支行和结束行并转换第二条件分支行为注释行,并且从块信息获取第一条件分支行的嵌套代码块中起始行和结束行的行号;若为假,则根据块信息转换第一条件分支行为注释行,即不保留第一条件分支行,再进行步骤53;步骤53、获取块信息的第二条件分支行,获取环境标识和JS代码中第二条件分支行的分支条件,根据环境标识计算第二条件分支行的分支条件的真假,若为真,则根据块信息保留第二条件分支行和结束行,并且从块信息获取第二条件分支行的嵌套代码块中起始行和结束行的行号;若为假,则根据块信息保留结束行并转换第二条件分支行为注释行,即不保留第二条件分支行。由此完成嵌套代码块的编译。
通过正则匹配或其它方式获取到各分支条件,然后根据环境标识计算出该条件分支的真假来决定该行代码是否被置空,真值则保留,假值则置空,也叫做转换为注释行。其中,获取到环境标识后将其转化为数组,再通过创建Function的方式来获取分支条件的真假值:将环境标识作为变量,创建一个Function实例;遍历环境标识转化的数组,获取环境标识对应的值;再将环境标识的值传入Function实例中,获取Function的返回值,即分支条件的真假值,最后根据分支条件的真假值来确定当前分支条件的代码行保留或置空。通过步骤5的编译,可以保留环境标识而其它代码行都将被转换成注释行不被执行。
经过步骤5编译后的文件可由其它前端打包工具进行编译处理,如webpack、vite等工具。
在部分实施例中,步骤6中,采用Base类构建通用的逻辑代码,根据不同的环境标识,使交互类继承通用的逻辑代码的Base类。采用Base类作为React类组件的基础实现,主要实现逻辑功能,不实现UI。例如,若标识为WEB端时,实现WEB端UI,并且继承Base组件,此时WEB UI组件拥有Base的逻辑功能,默认导出WEB UI;若标识为HTML5端时,实现HTML5端UI,并且继承Base组件,此时HTML5 UI组件拥有Base的逻辑功能,默认导出HTML5 UI。其中Base主要实现该组件的通用逻辑功能,且不包含UI交互功能,如与服务端的数据交互功能、通用方法功能等实现。然后根据不同的环境和终端实现UI交互类WEB UI、HTML5 UI,UI类都继承Base的基类,保证每个环境都有通用逻辑,从而实现差异化的代码分离。
由于Javascript不存在宏定义和编译的能力,通过本发明的编译方式来模拟宏定义的能力。并且静态编译和React类组件继承的方式,能很好的解决了同一个前端项目因不同环境需要由不同代码仓库进行开发维护的问题。基于React类组件的继承原理,只需要对差异化的功能进行开发,通过静态编译对整个项目进行解耦,同质化的代码只需要编写一次。项目编译完成后也并不会包含其它环境的代码,大大的减小了包的体积,提升了项目的加载速度。当然,有了基于文件的静态编译之后,不仅局限于UI代码的差异化导出,也适用于静态资源(如图片、文件、音视频等)、Css(样式文件)等多种资源的差异化实现及导入导出。这可以大大的降低项目的开发和维护成本,特别是Saas化、跨端的项目中有极大的提效作用。
本发明可根据不同平台、环境、终端等差异化实现不同的逻辑,在组件的入口文件处根据不同的环境标识导出React类组件组件不同的实现,从而实现在多环境下的代码复用,不仅局限于导出JS代码,也支持在前端的任意资源导出,比如Css文件、图片、音视频等静态资源文件按环境标识导出。
最后应说明的是:以上各实施例仅仅为本发明的较优实施例用以说明本发明的技术方案,而非对其限制,当然更不是限制本发明的专利范围;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围;也就是说,但凡在本发明的主体设计思想和精神上作出的毫无实质意义的改动或润色,其所解决的技术问题仍然与本发明一致的,均应当包含在本发明的保护范围之内;另外,将本发明的技术方案直接或间接的运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种React框架中实现多环境代码复用方法,其特征在于,包括以下步骤:
步骤1、定义并存储前端项目的环境标识;
步骤2、定义注释语法,采用注释语法编写前端文件的JS代码,JS代码包含嵌套代码块;
步骤3、根据JS代码判断前端文件是否需要静态编译,若需要静态编译则以换行符为分割符将前端文件的字符串转换为数组,若不需要静态编译则直接返回空信息;
步骤4、对数组进行迭代,识别出嵌套代码块,生成并存储嵌套代码块的块信息;
步骤5、遍历块信息,根据环境标识编译嵌套代码块;
步骤6、编写React类组件,在父类组件中构建通用的逻辑代码,根据编译的嵌套代码块导出不同的子类组件。
2.根据权利要求1所述的一种React框架中实现多环境代码复用方法,其特征在于,步骤1中,环境标识包括前端项目是否为WEB端和是否为HTML5端的两个标识。
3.根据权利要求1所述的一种React框架中实现多环境代码复用方法,其特征在于,步骤1中,采用一个对象字面量存储环境标识。
4.根据权利要求1所述的一种React框架中实现多环境代码复用方法,其特征在于,步骤2中,JS代码为包含多个代码行的代码块,代码行包括起始行、第一条件分支行、第二条件分支行和结束行,起始行、第一条件分支行、第二条件分支行内包含有嵌套代码块。
5.根据权利要求4所述的一种React框架中实现多环境代码复用方法,其特征在于,步骤2中,采用一一对应的注释语法编写起始行、第一条件分支行、第二条件分支行和结束行,起始行、第一条件分支行、第二条件分支行的注释语法后均设有分支条件,若逻辑命中一个分支条件,则其它分支条件都不执行。
6.根据权利要求4所述的一种React框架中实现多环境代码复用方法,其特征在于,步骤2中,起始行、第一条件分支行和第二条件分支行前添加有注释块。
7.根据权利要求5所述的一种React框架中实现多环境代码复用方法,其特征在于,步骤3包括:步骤31、读取前端文件的字节,将字节转换成字符串;步骤32、在步骤31转化的字符串中搜索是否存在注释语法的字符串,若存在则以换行符为分割符将步骤31的字符串转换为数组,若不需要静态编译则直接返回空信息。
8.根据权利要求5所述的一种React框架中实现多环境代码复用方法,其特征在于,步骤4包括:步骤41、对数组进行迭代,依次判断当前行是否为起始行、第一条件分支行、第二条件分支行或结束行,若是则标记当前行为起始行、第一条件分支行、第二条件分支行或结束行,并且记录对应的行号,识别出嵌套代码块;步骤42、采用数据结构存储嵌套代码块的块信息,块信息包括代码行的标记的名称和行号。
9.根据权利要求8所述的一种React框架中实现多环境代码复用方法,其特征在于,步骤5包括:步骤51、获取块信息的起始行,获取环境标识和JS代码中起始行的分支条件,根据环境标识计算起始行的分支条件的真假,若为真,则根据块信息保留起始行和结束行并转换第一条件分支行、第二条件分支行为注释行;若为假,则根据块信息转换起始行为注释行,再进行步骤52;步骤52、获取块信息的第一条件分支行,获取环境标识和JS代码中第一条件分支行的分支条件,根据环境标识计算第一条件分支行的分支条件的真假,若为真,则根据块信息保留第一条件分支行和结束行并转换第二条件分支行为注释行;若为假,则根据块信息转换第一条件分支行为注释行,再进行步骤53;步骤53、获取块信息的第二条件分支行,获取环境标识和JS代码中第二条件分支行的分支条件,根据环境标识计算第二条件分支行的分支条件的真假,若为真,则根据块信息保留第二条件分支行和结束行;若为假,则根据块信息保留结束行并转换第二条件分支行为注释行。
10.根据权利要求1所述的一种React框架中实现多环境代码复用方法,其特征在于,步骤6中,采用Base类构建通用的逻辑代码,根据不同的环境标识,使交互类继承通用的逻辑代码的Base类。
CN202410028724.0A 2024-01-09 一种React框架中实现多环境代码复用方法 Active CN117555535B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410028724.0A CN117555535B (zh) 2024-01-09 一种React框架中实现多环境代码复用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410028724.0A CN117555535B (zh) 2024-01-09 一种React框架中实现多环境代码复用方法

Publications (2)

Publication Number Publication Date
CN117555535A true CN117555535A (zh) 2024-02-13
CN117555535B CN117555535B (zh) 2024-05-14

Family

ID=

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060064682A1 (en) * 2004-09-22 2006-03-23 Matsushita Electric Industrial Co., Ltd. Compiler, compilation method, and compilation program
US20170139690A1 (en) * 2015-11-16 2017-05-18 Sap Se Universal transcompiling framework
CN106843996A (zh) * 2017-03-08 2017-06-13 百富计算机技术(深圳)有限公司 条件编译预处理方法和装置
CN111124477A (zh) * 2019-12-19 2020-05-08 华云数据有限公司 一种前端配置方法、系统及电子设备
CN111338623A (zh) * 2020-02-10 2020-06-26 北京字节跳动网络技术有限公司 一种开发用户界面的方法、装置、介质和电子设备
CN112363794A (zh) * 2020-11-30 2021-02-12 华云数据控股集团有限公司 一种前端列表类组件的渲染方法及电子设备
US10922060B1 (en) * 2019-09-26 2021-02-16 Fmr Llc Application source code reuse apparatuses, methods and systems
CN112416426A (zh) * 2020-11-30 2021-02-26 北京有竹居网络技术有限公司 应用程序的功能发布方法、装置、设备及存储介质
CN113031932A (zh) * 2021-03-11 2021-06-25 腾讯科技(深圳)有限公司 项目开发方法、装置、电子设备及存储介质
CN115904393A (zh) * 2023-01-05 2023-04-04 拉扎斯网络科技(上海)有限公司 条件编译实现方法、装置、介质及设备
CN116225377A (zh) * 2022-12-08 2023-06-06 赢火虫信息科技(上海)有限公司 一种跨平台小程序的统一开发方法、装置和电子设备
WO2023097750A1 (zh) * 2021-11-30 2023-06-08 同程网络科技股份有限公司 基于跨端程序生成系统的订单预订方法
CN116627402A (zh) * 2023-07-19 2023-08-22 云筑信息科技(成都)有限公司 一种基于React在低代码平台中实现自定义组件配置化的方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060064682A1 (en) * 2004-09-22 2006-03-23 Matsushita Electric Industrial Co., Ltd. Compiler, compilation method, and compilation program
US20170139690A1 (en) * 2015-11-16 2017-05-18 Sap Se Universal transcompiling framework
CN106843996A (zh) * 2017-03-08 2017-06-13 百富计算机技术(深圳)有限公司 条件编译预处理方法和装置
US10922060B1 (en) * 2019-09-26 2021-02-16 Fmr Llc Application source code reuse apparatuses, methods and systems
CN111124477A (zh) * 2019-12-19 2020-05-08 华云数据有限公司 一种前端配置方法、系统及电子设备
CN111338623A (zh) * 2020-02-10 2020-06-26 北京字节跳动网络技术有限公司 一种开发用户界面的方法、装置、介质和电子设备
CN112363794A (zh) * 2020-11-30 2021-02-12 华云数据控股集团有限公司 一种前端列表类组件的渲染方法及电子设备
CN112416426A (zh) * 2020-11-30 2021-02-26 北京有竹居网络技术有限公司 应用程序的功能发布方法、装置、设备及存储介质
CN113031932A (zh) * 2021-03-11 2021-06-25 腾讯科技(深圳)有限公司 项目开发方法、装置、电子设备及存储介质
WO2023097750A1 (zh) * 2021-11-30 2023-06-08 同程网络科技股份有限公司 基于跨端程序生成系统的订单预订方法
CN116225377A (zh) * 2022-12-08 2023-06-06 赢火虫信息科技(上海)有限公司 一种跨平台小程序的统一开发方法、装置和电子设备
CN115904393A (zh) * 2023-01-05 2023-04-04 拉扎斯网络科技(上海)有限公司 条件编译实现方法、装置、介质及设备
CN116627402A (zh) * 2023-07-19 2023-08-22 云筑信息科技(成都)有限公司 一种基于React在低代码平台中实现自定义组件配置化的方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
冯博: "基于React Native框架的兴趣社区Android客户端设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, 15 February 2018 (2018-02-15), pages 138 - 685 *
凡星℃: "js条件注释", pages 1 - 4, Retrieved from the Internet <URL:https://blog.csdn.net/xujing81/article/details/6900168> *
杨婷: "基于模块化的前端开发框架的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 March 2018 (2018-03-15), pages 138 - 821 *
财神驾到: "React 高阶组件 -- 继承的用法", pages 1 - 9, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/430908985> *

Similar Documents

Publication Publication Date Title
CN110704063B (zh) 编译和执行智能合约的方法及装置
US7665073B2 (en) Compile time meta-object protocol systems and methods
CN110688122B (zh) 编译和执行智能合约的方法及装置
US7032210B2 (en) Method and system for generating program source code of a computer application from an information model
CN110704064B (zh) 编译和执行智能合约的方法及装置
US9928156B2 (en) Missing include suggestions for external files
CN110502227B (zh) 代码补全的方法及装置、存储介质、电子设备
KR20040111099A (ko) 코드 세그먼트들을 생성, 관리, 및 사용하는 시스템 및방법
CA2454608A1 (en) Programming language extensions for processing xml objects and related applications
US8464232B2 (en) Compiler compiler system with syntax-controlled runtime and binary application programming interfaces
US20070079299A1 (en) Method, apparatus and program storage device for representing eclipse modeling framework (EMF) ecore models in textual form
AU2002354768A1 (en) Programming language extensions for processing XML objects and related applications
CN113126990B (zh) 一种页面开发方法、装置、设备及存储介质
CN112130837A (zh) 一种代码处理方法、装置及存储介质
CN110221824B (zh) 组件的生成方法和装置
CN112052006B (zh) 一种软件代码编译方法及系统
CN114153459A (zh) 接口文档生成方法及装置
CN115291854A (zh) 代码补全方法、装置及设备
CN115599386A (zh) 代码生成方法、装置、设备及存储介质
Irwin et al. Object oriented metrics: Precision tools and configurable visualisations
CN113703779A (zh) 一种跨平台的多语言编译方法和超轻量物联网虚拟机
CN117555535B (zh) 一种React框架中实现多环境代码复用方法
Zhao et al. Pattern-based design evolution using graph transformation
CN117555535A (zh) 一种React框架中实现多环境代码复用方法
CN113760360A (zh) 一种文件生成方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant