CN111736812A - 文档代码执行方法、装置、计算机设备及存储介质 - Google Patents

文档代码执行方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN111736812A
CN111736812A CN202010550673.XA CN202010550673A CN111736812A CN 111736812 A CN111736812 A CN 111736812A CN 202010550673 A CN202010550673 A CN 202010550673A CN 111736812 A CN111736812 A CN 111736812A
Authority
CN
China
Prior art keywords
target
code
execution environment
content
code content
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.)
Withdrawn
Application number
CN202010550673.XA
Other languages
English (en)
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.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online Technology 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 Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN202010550673.XA priority Critical patent/CN111736812A/zh
Publication of CN111736812A publication Critical patent/CN111736812A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • 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/70Software maintenance or management
    • G06F8/73Program documentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种文档代码执行方法、装置、计算机设备及存储介质,属于代码开发领域。所述方法应用于计算机设备中,所述方法包括:通过解析目标文档文件中的目标结构,提取目标文档文件中的代码内容和非代码内容;根据目标执行环境对代码内容进行处理,获取适配于目标执行环境的目标代码内容;根据目标执行环境对非代码内容进行处理,获取适配于目标执行环境的目标非代码内容;根据目标执行环境,获取目标容器代码;根据目标代码内容、目标非代码内容以及目标容器代码,生成可执行文档代码;在目标执行环境中,执行可执行文档代码生成预览界面。本申请可以自动生成预览界面的可执行文档代码,减少开发者编写代码的时间,提高代码开发的效率。

Description

文档代码执行方法、装置、计算机设备及存储介质
技术领域
本申请涉及代码开发领域,特别涉及一种文档代码执行方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术领域的发展,开发人员可以在计算机设备中可以创建各种各样的源代码,并在计算机设备中运行创建的源代码。
目前,计算机设备中可以运行有不同的编程语言环境,比如,Java语言环境、Kotlin语言环境、C++语言环境等等,开发人员可以在不同的编程语言环境中编写不同的程序代码,并在计算机设备中运行。其中,为了提高对开发者编写的代码进行解释说明,开发人员也可以编写该代码对应的说明文档以及演示示例。即,开发人员除了需要编写开发项目的说明文档之外,还需要编写说明文档对应的演示示例,并在不同的页面中将两者进行展示,完成对编写的代码进行解释说明。
对于上述相关技术中的方案,由于说明文档对应的演示示例与说明文档中包含重复内容,从而导致了代码开发的效率低等问题。
发明内容
为了提高代码开发的效率,本申请实施例提供了一种文档代码执行方法、装置、计算机设备及存储介质。所述技术方案如下:
一个方面,本申请实施例提供了一种文档代码执行方法,所述方法由计算机设备执行,所述方法包括:
通过解析目标文档文件中的目标结构,提取所述目标文档文件中的代码内容和非代码内容,所述目标文档文件是针对前端组件编写的说明文档;
根据目标执行环境对所述代码内容进行处理,获取适配于所述目标执行环境的目标代码内容,所述目标执行环境是所述前端组件所在界面的界面环境;
根据所述目标执行环境对所述非代码内容进行处理,获取适配于所述目标执行环境的目标非代码内容;
根据所述目标执行环境,获取目标容器代码;
根据所述目标代码内容、所述目标非代码内容以及所述目标容器代码,生成可执行文档代码;
在所述目标执行环境中,执行所述可执行文档代码生成预览界面。
一个方面,本申请实施例提供了一种文档代码执行装置,所述装置用于计算机设备中,所述装置包括:
内容提取模块,用于通过解析目标文档文件中的目标结构,提取所述目标文档文件中的代码内容和非代码内容,所述目标文档文件是针对前端组件编写的说明文档;
第一获取模块,用于根据目标执行环境对所述代码内容进行处理,获取适配于所述目标执行环境的目标代码内容,所述目标执行环境是所述前端组件所在界面的界面环境;
第二获取模块,用于根据所述目标执行环境对所述非代码内容进行处理,获取适配于所述目标执行环境的目标非代码内容;
第一生成模块,用于根据所述目标执行环境,获取目标容器代码;
第二生成模块,用于根据所述目标代码内容、所述目标非代码内容以及所述目标容器代码,生成可执行文档代码;
代码执行模块,用于在所述目标执行环境中,执行所述可执行文档代码生成预览界面。
一个方面,本申请实施例提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述一个方面所述的文档代码执行方法。
一个方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述一个方面所述的文档代码执行方法。
另一方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行上述一个方面提供的文档代码执行方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请通过解析目标文档文件中的目标结构,提取目标文档文件中的代码内容和非代码内容,根据目标执行环境对代码内容和非代码内容分别进行处理得到适配于目标执行环境的目标代码内容和目标非代码内容,根据目标执行环境获取目标容器代码,将目标代码内容、目标非代码内容以及目标容器代码,生成在目标执行环境中生成预览界面的可执行文档代码,使得开发者在编写说明文档后,可以自动生成预览界面的可执行文档代码,实现了上述演示示例的自动生成,减少了开发者编写代码的时间,提高了代码开发的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一示例性实施例提供的一种测试用例生成的应用场景示意图;
图2是本申请一个示例性的实施例提供的一种文档代码执行方法的方法流程图;
图3是本申请一个示例性的实施例提供的一种文档代码执行方法的方法流程图;
图4是本申请一示例性实施例涉及的一种编写目标文档文件界面的界面示意图;
图5是本申请一示例性实施例涉及的一种配置项界面的界面示意图;
图6是本申请一示例性实施例涉及的一种前端组件所在界面的界面示意图;
图7是本申请一示例性实施例涉及的另一种前端组件所在界面的界面示意图;
图8是本申请一示例性实施例涉及的一种预览界面的界面示意图;
图9是本申请一示例性实施例示出的一种文档代码执行装置的结构方框图;
图10是本申请一示例性实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请提供的方案,可以用于在程序代码开发过程中对某个项目编写说明文档文件的现实场景中。为了便于理解,下面首先对本申请涉及的应用场景进行简单介绍。
请参考图1,其示出了本申请一示例性实施例提供的一种测试用例生成的应用场景示意图。如图1所示,在计算机设备100中包含有开发工具界面101。
可选的,上述计算机设备100可以是安装有开发工具并具有软件开发能力的终端设备,比如,该计算机设备可以是手机、平板电脑、笔记本电脑和台式计算机等等。
其中,上述开发工具界面101可以是计算机设备100展示的某个用于软件开发采用的开发工具的界面,程序开发人员可以在该界面中编写代码,形成某个应用程序的源文件。比如,程序开发人员需要编写一个应用程序A,可以在计算机设备100中运行该开发工具,在展示的开发工具界面101中编写程序,从而完成应用程序A源代码的开发。
可选的,该开发工具可以是IntelliJ IDEA,Android Studio,JDK(JavaDevelopment Kit),Eclipse,MyEclips,NetBeans、VS CODE(Visual Studio CODE)开发工具中的任意一种。其中,这些开发工具可以支持Java语言环境、Kotlin语言环境、Web前端语言环境、JS(JavaScript)语言环境等等,当开发工具支持Java语言环境时,程序开发人员可以通过在开发工具界面101中编写Java语言代码,生成相应的源代码文件,并存储在计算机设备100中。当开发工具支持Kotlin语言环境时,程序开发人员可以通过在开发工具界面101中编写Kotlin语言代码,生成相应的源代码文件,并存储在计算机设备100中。
可选的,程序开发人员在对编写的代码进行解释说明时,可以通过Markdown语言、reStructuredTEXT语言、Ord-mode语言等编写说明文档,并对该说明文档编写对应的演示示例,从而完成对自己编写的代码的解释说明。
为了提高开发人员进行代码开发的效率,本申请实施例提供了一种文档代码执行方法。请参考图2,其示出了本申请一个示例性的实施例提供的一种文档代码执行方法的方法流程图。该方法可以应用于上述图1所示的应用场景中,由该图1中的计算机设备执行,如图2所示,该文档代码执行方法可以包括如下几个步骤:
步骤201,通过解析目标文档文件中的目标结构,提取目标文档文件中的代码内容和非代码内容。
其中,目标文档文件是针对前端组件编写的说明文档。可选的,前端组件可以是第一应用界面中的任意一个组件。第一应用界面是任意一个应用程序的应用界面。可选的,目标结构可以是目标文档文件中编写该目标文档文件的语言的树结构。
可选的,代码内容是目标文档文件中属于目标语言的内容,非代码内容是目标文档文件中不属于目标语言的内容。其中,目标语言是编写目标文档文件的语言。例如,编写目标文档文件使用的目标语言是JS语言,代码内容是目标文档文件中属于JS语言的内容,非代码内容是目标文档文件中不属于目标语言的内容。可选的,非代码内容可以是目标文档文件中引用的图片、网址等内容。
步骤202,根据目标执行环境对代码内容进行处理,获取适配于目标执行环境的目标代码内容。
其中,目标执行环境是前端组件所在界面的界面环境。比如,前端组件是浏览器界面中的某个组件,该目标执行环境可以是浏览器环境,前端组件是终端的应用界面中的某个组件,该目标执行环境可以是终端的客户端环境,前端组件是PC(Personal Computer,个人电脑)端的应用界面中的某个组件,该目标执行环境可以是PC的客户端环境。
步骤203,根据目标执行环境对非代码内容进行处理,获取适配于目标执行环境的目标非代码内容。
步骤204,根据目标执行环境,获取目标容器代码。
其中,目标容器代码可以看做是目标执行环境中包含各个组件的界面框架对应的代码,各个组件可以按照固定的顺序展示在界面框架中。
步骤205,根据目标代码内容、目标非代码内容以及目标容器代码,生成可执行文档代码。
步骤206,在目标执行环境中,执行可执行文档代码生成预览界面。
综上所述,本申请通过解析目标文档文件中的目标结构,提取目标文档文件中的代码内容和非代码内容,根据目标执行环境对代码内容和非代码内容分别进行处理得到适配于目标执行环境的目标代码内容和目标非代码内容,根据目标执行环境获取目标容器代码,将目标代码内容、目标非代码内容以及目标容器代码,生成在目标执行环境中生成预览界面的可执行文档代码,使得开发者在编写说明文档后,可以自动生成预览界面的可执行文档代码,实现了上述演示示例的自动生成,减少了开发者编写代码的时间,提高了代码开发的效率。
在一种可能实现的方式中,本方案中,编写目标文档文件的环境中包含第一工具按钮,开发人员可以通过点击该工具按钮,对计算机设备中包含的项目文件夹中所有的文档文件生成可执行文档代码。其中,该第一工具按钮是计算机设备安装具有执行本申请方法的工具插件后,在编写目标文档文件的环境中展示的。
请参考图3,其示出了本申请一个示例性的实施例提供的一种文档代码执行方法的方法流程图。该方法可以应用于上述图1所示的应用场景中,由该图1中的计算机设备执行,如图3所示,该文档代码执行方法可以包括如下几个步骤:
步骤301,展示至少一个配置项,至少一个配置项中包括目标执行环境的选项。
可选的,计算机设备响应于开发人员对上述编写目标文档文件的环境中的第一工具按钮的触发操作,在计算机设备中展开包含至少一个配置项的配置项界面。例如,请参考图4,其示出了本申请一示例性实施例涉及的一种编写目标文档文件界面的界面示意图。如图4所示,在计算机设备400中展示有编写区域401,第一工具按钮402。开发人员可以在编写区域401中用特定语言编写目标文档文件,其中,该特定语言是编写目标文档文件的开发工具支持的任意一种语言(比如,上述的Markdown语言、reStructuredTEXT语言、Ord-mode语言等)。开发人员还可以点击第一工具按钮402,计算机设备在配置项界面中展示至少一个配置项。请参考图5,其示出了本申请一示例性实施例涉及的一种配置项界面的界面示意图,如图5所示,在配置项界面500中包含至少一个配置项501,目标环境配置项502。其中,开发人员可以点击每个配置项,选择或者输入该配置项对应的内容,从而在配置项界面500中配置完成此次生成可执行文档代码对应的各个配置项,使得计算机设备可以获取到配置项界面中包含的各个配置项的内容。比如,开发人员可以点击目标环境配置项502,从中选择浏览器环境作为目标执行环境。或者,开发人员可以输入目标执行环境,从而在配置项中完成目标执行环境的配置。本申请对配置项的选择方式并不加以限定。
步骤302,获取目标执行环境的配置项的内容。
即,开发人员在上述配置项界面中对应的目标环境配置项中输入或者选择该配置项的内容后,计算机设备获取到目标环境配置项的内容,该目标环境配置项的内容即是目标执行环境的配置项的内容。比如,开发人员在图5中的目标环境配置项中选择浏览器环境,那么本步骤中获取到的目标执行环境的配置项的内容便是“浏览器环境”。开发人员在图5中的目标环境配置项中选择终端的客户端环境,那么本步骤中获取到的目标执行环境的配置项的内容便是“终端的客户端环境”。
步骤303,根据目标执行环境的配置项的内容,确定目标执行环境。
可选的,上述配置项界面500中还包含确认控件503,开发人员可以通过点击该确认控件503,使得计算机设备可以根据目标执行环境的配置项的内容,确定出目标执行环境。
步骤304,根据目标文档文件的第一标识,从项目文件夹中获取目标文档文件。
其中,第一标识是目标文档文件的后缀名、文件名、文件编号中的任意一种。
在一种可能实现的方式中,上述配置项界面中包含有文件目录的配置项,开发人员可以在配置项界面中通过在文件目录的配置项中输入或者选择对应的项目文件夹的地址目录,计算机设备可以对该项目文件夹中所有目标文档文件都执行本申请的文档代码执行方法。比如,开发人员在文件目录的配置项中输入的内容如下:C:/程序开发:/项目一。当开发人员点击上述确认控件503后,使得计算机设备可以根据文件目录的配置项的内容,对该项目一的文件夹中所有的目标文档文件执行本申请的文档代码执行方法。
在一种可能实现的方式中,上述配置项界面中包含有目标文档文件的唯一标识的配置项,开发人员可以在配置项界面中通过在目标文档文件的唯一标识的配置项中输入或者选择对应的唯一标识,计算机设备可以根据目标文档文件的第一标识,从项目文件夹中获取目标文档文件。比如,开发人员在目标文档文件的唯一标识的配置项中输入的内容如下:.MD。当开发人员点击上述确认控件503后,使得计算机设备可以根据目标文档文件的第一标识(后缀名为.MD的文档文件),从项目文件夹中获取所有后缀名为.MD的文档文件,这些文档文件都是目标文档文件。或者,开发人员在目标文档文件的唯一标识的配置项中输入的内容如下:文件名一。当开发人员点击上述确认控件503后,使得计算机设备可以根据目标文档文件的第一标识(文件名为文件名一的文档文件),从项目文件夹中获取文件名为文件名一的文档文件,该文件名为文件名一的文档文件是目标文档文件。
步骤305,通过解析目标文档文件中的目标结构,提取目标文档文件中的代码内容和非代码内容。
其中,目标文档文件是针对前端组件编写的说明文档。
可选的,目标结构是目标文档文件中编写该目标文档文件的语言的树结构。比如,以Markdown语言编写的目标文档文件,本步骤中可以根据Markdown语言的树结构,将目标文档文件中的代码内容和非代码内容分别提取出来,得到代码内容和非代码内容。
步骤306,根据目标执行环境对代码内容进行处理,获取适配于目标执行环境的目标代码内容。
其中,目标执行环境是前端组件所在界面的界面环境。请参考图6,其示出了本申请一示例性实施例涉及的一种前端组件所在界面的界面示意图。如图6所示,在终端600中包含了第一应用界面601,各个前端组件602。开发人员可以对该第一应用界面中任何一个前端组件602编写目标文档文件,如图6所示,该目标执行环境可以是终端的客户端环境,开发人员可以在上述配置项中选择或者输入该目标执行环境,从而使得计算机设备获取到目标执行环境。
请参考图7,其示出了本申请一示例性实施例涉及的另一种前端组件所在界面的界面示意图。如图7所示,在终端700中包含了浏览器界面701,各个前端组件702。开发人员可以对该浏览器界面700中任何一个前端组件702编写目标文档文件,如图7所示,该目标执行环境可以是浏览器环境,开发人员可以在上述配置项中选择或者输入该目标执行环境,从而使得计算机设备获取到目标执行环境。
在一种可能实现的方式中,计算机设备可以根据代码内容的语言节点,拆分为至少两个子代码内容;根据适配于目标执行环境的目标语言,将至少两个子代码内容进行编译;将至少两个子代码内容按照代码内容的顺序结合,生成目标代码内容。
其中,语言节点可以是目标文档文件中标点符号所在的位置节点,比如,回车符号所在的位置节点,分号符号所在的位置节点,句号符号所在的位置节点等。以回车符号所在的位置节点为例,上述计算机设备得到的代码内容如果包含4个回车符号,那么,计算机设备可以将代码内容按照回车符号拆分为4个子代码内容。计算机设备将拆分后的子代码内容按照目标执行环境的目标语言进行编译,得到编译后的各个子代码内容。
在一种可能实现的方式中,以目标执行环境是浏览器环境,浏览器环境中支持的语言包括HTML(HyperText Markup Language,超文本标记语言)、CSS(Cascading StyleSheets,层叠样式表)和JavaScript(JS,脚本语言),以目标语言是JS语言为例,计算机设备可以将代码内容按照JS语言开发的框架或者库进行编译,得到JS语言编写的代码内容。可选的,浏览器环境中运行的JS版本可以是ES5(ECMAScript5,JS核心语法标准)版本,计算机设备可以将上述代码内容编译为符合ES5版本的语法内容。计算机设备可以将各个子代码内容按照原来的顺序进行拼接,得到目标代码内容。可选的,目标执行环境中由配置项确定的目标语言是其他目标语言时,上述代码内容的生成也可以参考此处的描述,在此不再一一赘述。
步骤307,根据目标执行环境对非代码内容进行处理,获取适配于目标执行环境的目标非代码内容。
在一种可能实现的方式中,计算机设备可以根据适配于目标执行环境的目标语言,将非代码内容进行编译;根据目标执行环境,获取目标执行环境的依赖代码、注册代码和样式代码;将依赖代码、注册代码、样式代码依次拼接在编译后的非代码内容中,生成目标非代码内容。
可选的,计算机设备也可以按照上述步骤305中对代码内容进行编译的方式对非代码内容进行编译。计算机设备还可以根据目标执行环境,获取目标执行环境的依赖代码、注册代码和样式代码。其中,依赖代码是在目标执行环境中执行某个代码时为该代码提供执行许可的代码。注册代码是目标执行环境中执行某个代码之前,将该代码注册到目标执行环境中的代码。其中,某个代码可以是目标文档文件中的部分代码。样式代码是对目标执行环境中执行的代码的样式描述。可选的,依赖代码、注册代码和样式代码均可以预先按照目标执行环境和目标语言编写,并存储在计算机设备中,在需要获取时,通过配置项中的内容获取所需要的依赖代码、注册代码和样式代码,将获取到的依赖代码、注册代码、样式代码依次拼接在编译后的非代码内容中,生成目标非代码内容。可选的,本申请中,注册代码和样式代码的拼接顺序可以相互调换。
步骤308,根据目标执行环境,获取目标容器代码。
其中,目标容器代码可以是预先按照目标执行环境和目标语言编写,并存储在计算机设备中。比如,对于上述图6,当目标执行环境是图6所示的终端的客户端环境时,该目标容器代码可以是该客户端的应用界面中用于放置前端组件的框架对应的代码。可选的,开发人员可以预先将终端的客户端环境对应的目标容器代码进行编写,并存储在计算机设备中。或者,对于上述图7,当目标执行环境是图7所示的浏览器环境时,该目标容器代码可以是图7所示浏览器界面中用于放置前端组件的框架对应的代码。可选的,开发人员可以预先将浏览器环境对应的目标容器代码进行编写,并存储在计算机设备中。
步骤309,根据目标代码内容、目标非代码内容以及目标容器代码,生成可执行文档代码。
可选的,计算机设备在上述各个步骤中得到目标代码内容、目标非代码内容以及目标容器代码,可以将目标代码内容和目标非代码内容按照顺序结合至目标容器代码,进而生成可执行文档代码。
步骤310,在目标执行环境中,执行可执行文档代码生成预览界面。
可选的,计算机设备可以执行生成的可执行文档代码并生成预览界面。并展示预览界面。在一种可能实现的方式中,计算机设备还可以将生成的可执行文档代码进行存储。比如,计算机设备可以创建文档文件夹,将生成的可执行文档代码存储在该文档文件夹中。
在一种可能实现的方式中,计算机设备还可以响应于在目标文档文件的编写环境中展示预览界面,检测目标文档文件是否发生更新;响应于目标文档文件发生更新,执行通过解析目标文档文件中的目标结构,提取目标文档文件中的代码内容和非代码内容步骤。
即,若该预览界面是在开发人员使用的当前计算机设备中的目标执行环境中展示的,那么,当开发人员对编写的目标文档文件进行修改时,计算机设备可以实时重新对该修改的目标文档文件按照上述方法重新生成可执行文档代码,并在该环境中展示。在一种可能实现的方式中,当开发人员对目标文档文件进行修改时,计算机设备也可以获取到目标文档文件中修改的代码位置,对开发人员修改的代码处按照上述方式重新生成适配于目标执行环境的代码,并将可执行文档代码中对应部分的内容进行替换,得到新的可执行文档代码。
比如,在计算机设备中,开发人员通过VSCODE对某个组件编写了一个说明文档,通过上述步骤可以生成可执行文档,并将生成的可执行文档在浏览器环境中执行,从而在同一个设备中展示出说明文档和演示示例结合的预览界面。可选的,当开发人员在VSCODE环境中对上述编写的说明文档进行修改后,计算机设备也可以修改后的说明文档,重新生成可执行文档代码,在浏览器环境中更新展示。
请参考图8,其示出了本申请一示例性实施例涉及的一种预览界面的界面示意图。如图8所示,在计算机设备800中,包含了可执行文档文件的展示区域801,预览控件802,预览界面803。如图8所示,计算机设备按照上述步骤生成可执行文档文件后,可以将可执行文档文件展示在展示区域801中,并且响应于开发人员对预览控件802的触发操作,在预览界面803中展示对应的包含目标环境的界面。其中,预览界面803中展示的界面是以目标执行环境是终端的客户端环境为示例的。
综上所述,本申请通过解析目标文档文件中的目标结构,提取目标文档文件中的代码内容和非代码内容,根据目标执行环境对代码内容和非代码内容分别进行处理得到适配于目标执行环境的目标代码内容和目标非代码内容,根据目标执行环境获取目标容器代码,将目标代码内容、目标非代码内容以及目标容器代码,生成在目标执行环境中生成预览界面的可执行文档代码,使得开发者在编写说明文档后,可以自动生成预览界面的可执行文档代码,实现了上述演示示例的自动生成,减少了开发者编写代码的时间,提高了代码开发的效率。
另外,本方案通过上述展示的配置项界面,可以提供各种环境下编写的目标文档文件,实现了对各类环境下支持的各种语言的扩展,增加了目标文档文件生成可执行文档的灵活性。而且,在同一界面内展示了可执行文档代码的代码内容以及在目标执行环境中的展示结果,也提高了可执行文档代码的展示效果。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图9是本申请一示例性实施例示出的一种文档代码执行装置的结构方框图。该文档代码执行装置可以用于图1所示的应用环境中,以执行图2或图3对应实施例所示的方法中由计算机设备执行的全部或者部分步骤。该文档代码执行装置可以包括如下模块:
内容提取模块901,用于通过解析目标文档文件中的目标结构,提取所述目标文档文件中的代码内容和非代码内容,所述目标文档文件是针对前端组件编写的说明文档;
第一获取模块902,用于根据目标执行环境对所述代码内容进行处理,获取适配于所述目标执行环境的目标代码内容,所述目标执行环境是所述前端组件所在界面的界面环境;
第二获取模块903,用于根据所述目标执行环境对所述非代码内容进行处理,获取适配于所述目标执行环境的目标非代码内容;
第一生成模块904,用于根据所述目标执行环境,获取目标容器代码;
第二生成模块905,用于根据所述目标代码内容、所述目标非代码内容以及所述目标容器代码,生成可执行文档代码;
代码执行模块906,用于在所述目标执行环境中,执行所述可执行文档代码生成预览界面。
可选的,所述第一获取模块902,包括:第一拆分单元,第一编译单元,第一生成单元;
所述第一拆分单元,用于根据所述代码内容的语言节点,拆分为至少两个子代码内容;
所述第一编译单元,用于根据适配于所述目标执行环境的目标语言,将所述至少两个子代码内容进行编译;
所述第一生成单元,用于将所述至少两个子代码内容按照所述代码内容的顺序结合,生成所述目标代码内容。
可选的,所述第二获取模块903,包括:第二编译单元,第一获取单元,第二生成单元;
所述第二编译单元,用于根据适配于所述目标执行环境的目标语言,将所述非代码内容进行编译;
所述第一获取单元,用于根据所述目标执行环境,获取所述目标执行环境的依赖代码、注册代码和样式代码;
所述第二生成单元,用于将所述依赖代码、注册代码、样式代码依次拼接在编译后的所述非代码内容中,生成所述目标非代码内容。
可选的,所述第二生成模块905,用于将所述目标代码内容和所述目标非代码内容结合至所述目标容器代码,生成所述可执行文档代码。
可选的,所述装置还包括:
第三获取模块,用于在所述内容提取模块901通过解析目标文档文件中的目标结构,提取所述目标文档文件中的代码内容和非代码内容之前,根据所述目标文档文件的第一标识,从项目文件夹中获取所述目标文档文件,所述第一标识是所述目标文档文件的后缀名、文件名、文件编号中的任意一种。
可选的,所述装置还包括:
界面展示模块,用于展示所述预览界面;
检测模块,用于响应于在所述目标文档文件的编写环境中展示所述预览界面,检测所述目标文档文件是否发生更新;
执行模块,用于响应于所述目标文档文件发生更新,执行所述通过解析目标文档文件中的目标结构,提取所述目标文档文件中的代码内容和非代码内容步骤。
可选的,所述装置还包括:
配置项展示模块,用于在所述内容提取模块901通过解析目标文档文件中的目标结构,提取所述目标文档文件中的代码内容和非代码内容之前,展示至少一个配置项,所述至少一个配置项中包括所述目标执行环境的选项;
配置项获取模块,获取所述目标执行环境的配置项的内容;
环境确定模块,用于根据所述目标执行环境的配置项的内容,确定所述目标执行环境。
需要说明的是:上述实施例提供的文档代码执行装置在执行上述步骤时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的语音服务提供装置盒终端与语音服务提供方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10是本申请一示例性实施例提供的一种计算机设备的结构示意图。所述计算机设备1000包括中央处理单元(Central Processing Unit,CPU)1001、包括随机存取存储器(Random Access Memory,RAM)1002和只读存储器(Read Only Memory,ROM)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。所述计算机设备1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output System,I/O系统)1006,和用于存储操作系统1012、应用程序1013和其他程序模块1014的大容量存储设备1007。
所述基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中所述显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。所述基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。所述大容量存储设备1007及其相关联的计算机可读介质为计算机设备1000提供非易失性存储。也就是说,所述大容量存储设备1007可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,带电可擦可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
计算机设备1000可以通过连接在所述系统总线1005上的网络接口单元1011连接到互联网或者其它网络设备。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理单元1001通过执行该一个或一个以上程序来实现本申请上述各个实施例提供的方法中,由计算机设备执行的全部或者部分步骤。
在一个示例性实施例中,还提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集可由计算机设备的处理器(也称为中央处理单元)加载并执行,以完成本申请各个实施例所示的方法的全部或者部分步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例的各种可选实现方式中提供的文档代码执行方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种文档代码执行方法,其特征在于,所述方法由计算机设备执行,所述方法包括:
通过解析目标文档文件中的目标结构,提取所述目标文档文件中的代码内容和非代码内容,所述目标文档文件是针对前端组件编写的说明文档;
根据目标执行环境对所述代码内容进行处理,获取适配于所述目标执行环境的目标代码内容,所述目标执行环境是所述前端组件所在界面的界面环境;
根据所述目标执行环境对所述非代码内容进行处理,获取适配于所述目标执行环境的目标非代码内容;
根据所述目标执行环境,获取目标容器代码;
根据所述目标代码内容、所述目标非代码内容以及所述目标容器代码,生成可执行文档代码;
在所述目标执行环境中,执行所述可执行文档代码生成预览界面。
2.根据权利要求1所述的方法,其特征在于,所述根据目标执行环境对所述代码内容进行处理,获取适配于所述目标执行环境的目标代码内容,包括:
根据所述代码内容的语言节点,拆分为至少两个子代码内容;
根据适配于所述目标执行环境的目标语言,将所述至少两个子代码内容进行编译;
将所述至少两个子代码内容按照所述代码内容的顺序结合,生成所述目标代码内容。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标执行环境对所述非代码内容进行处理,获取适配于所述目标执行环境的目标非代码内容,包括:
根据适配于所述目标执行环境的目标语言,将所述非代码内容进行编译;
根据所述目标执行环境,获取所述目标执行环境的依赖代码、注册代码和样式代码;
将所述依赖代码、注册代码、样式代码依次拼接在编译后的所述非代码内容中,生成所述目标非代码内容。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标代码内容、所述目标非代码内容以及所述目标容器代码,生成可执行文档代码,包括:
将所述目标代码内容和所述目标非代码内容结合至所述目标容器代码,生成所述可执行文档代码。
5.根据权利要求1所述的方法,其特征在于,在所述通过解析目标文档文件中的目标结构,提取所述目标文档文件中的代码内容和非代码内容之前,还包括:
根据所述目标文档文件的第一标识,从项目文件夹中获取所述目标文档文件,所述第一标识是所述目标文档文件的后缀名、文件名、文件编号中的任意一种。
6.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
展示所述预览界面;
响应于在所述目标文档文件的编写环境中展示所述预览界面,检测所述目标文档文件是否发生更新;
响应于所述目标文档文件发生更新,执行所述通过解析目标文档文件中的目标结构,提取所述目标文档文件中的代码内容和非代码内容步骤。
7.根据权利要求1至5任一所述的方法,其特征在于,在所述通过解析目标文档文件中的目标结构,提取所述目标文档文件中的代码内容和非代码内容之前,还包括:
展示至少一个配置项,所述至少一个配置项中包括所述目标执行环境的配置项;
获取所述目标执行环境的配置项的内容;
根据所述目标执行环境的配置项的内容,确定所述目标执行环境。
8.一种文档代码执行装置,其特征在于,所述装置用于计算机设备中,所述装置包括:
内容提取模块,用于通过解析目标文档文件中的目标结构,提取所述目标文档文件中的代码内容和非代码内容,所述目标文档文件是针对前端组件编写的说明文档;
第一获取模块,用于根据目标执行环境对所述代码内容进行处理,获取适配于所述目标执行环境的目标代码内容,所述目标执行环境是所述前端组件所在界面的界面环境;
第二获取模块,用于根据所述目标执行环境对所述非代码内容进行处理,获取适配于所述目标执行环境的目标非代码内容;
第一生成模块,用于根据所述目标执行环境,获取目标容器代码;
第二生成模块,用于根据所述目标代码内容、所述目标非代码内容以及所述目标容器代码,生成可执行文档代码;
代码执行模块,用于在所述目标执行环境中,执行所述可执行文档代码生成预览界面。
9.一种计算机设备,其特征在于,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一所述的文档代码执行方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一所述的文档代码执行方法。
CN202010550673.XA 2020-06-16 2020-06-16 文档代码执行方法、装置、计算机设备及存储介质 Withdrawn CN111736812A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010550673.XA CN111736812A (zh) 2020-06-16 2020-06-16 文档代码执行方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010550673.XA CN111736812A (zh) 2020-06-16 2020-06-16 文档代码执行方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN111736812A true CN111736812A (zh) 2020-10-02

Family

ID=72649485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010550673.XA Withdrawn CN111736812A (zh) 2020-06-16 2020-06-16 文档代码执行方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111736812A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157261A (zh) * 2021-03-31 2021-07-23 上海万物新生环保科技集团有限公司 一种代码生成方法及设备
CN114020257A (zh) * 2021-11-10 2022-02-08 北京字节跳动网络技术有限公司 一种编码辅助方法、装置、设备及存储介质
CN117406973A (zh) * 2023-12-13 2024-01-16 上海群之脉信息科技有限公司 一种交互式数据分析的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140359571A1 (en) * 2013-05-28 2014-12-04 Adobe Systems Incorporated Method and apparatus for dynamic document object model (dom) aware code editing
CN108287728A (zh) * 2018-01-15 2018-07-17 武汉斗鱼网络科技有限公司 文档处理方法、文档处理装置及终端设备
CN109634579A (zh) * 2018-10-29 2019-04-16 平安科技(深圳)有限公司 代码生成方法、装置、计算机装置及存储介质
WO2019214539A1 (zh) * 2018-05-08 2019-11-14 阿里巴巴集团控股有限公司 一种文档展示方法和装置
CN110889270A (zh) * 2018-08-16 2020-03-17 阿里巴巴集团控股有限公司 一种表单页面文档生成方法、表单页面渲染方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140359571A1 (en) * 2013-05-28 2014-12-04 Adobe Systems Incorporated Method and apparatus for dynamic document object model (dom) aware code editing
CN108287728A (zh) * 2018-01-15 2018-07-17 武汉斗鱼网络科技有限公司 文档处理方法、文档处理装置及终端设备
WO2019214539A1 (zh) * 2018-05-08 2019-11-14 阿里巴巴集团控股有限公司 一种文档展示方法和装置
CN110457656A (zh) * 2018-05-08 2019-11-15 阿里巴巴集团控股有限公司 一种文档展示方法和装置
CN110889270A (zh) * 2018-08-16 2020-03-17 阿里巴巴集团控股有限公司 一种表单页面文档生成方法、表单页面渲染方法及装置
CN109634579A (zh) * 2018-10-29 2019-04-16 平安科技(深圳)有限公司 代码生成方法、装置、计算机装置及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157261A (zh) * 2021-03-31 2021-07-23 上海万物新生环保科技集团有限公司 一种代码生成方法及设备
CN113157261B (zh) * 2021-03-31 2024-04-16 上海万物新生环保科技集团有限公司 一种代码生成方法及设备
CN114020257A (zh) * 2021-11-10 2022-02-08 北京字节跳动网络技术有限公司 一种编码辅助方法、装置、设备及存储介质
CN117406973A (zh) * 2023-12-13 2024-01-16 上海群之脉信息科技有限公司 一种交互式数据分析的方法及装置
CN117406973B (zh) * 2023-12-13 2024-03-12 上海群之脉信息科技有限公司 一种交互式数据分析的方法及装置

Similar Documents

Publication Publication Date Title
EP3342145B1 (en) Deep linking to mobile application states through programmatic replay of user interface events
US10915429B2 (en) Employing code overlays to facilitate software development
CN111736812A (zh) 文档代码执行方法、装置、计算机设备及存储介质
CN107783766B (zh) 对应用程序的文件进行清理的方法和装置
CN107015903B (zh) 一种界面测试程序的生成方法、装置及电子设备
CN110580147A (zh) 一种应用程序的开发方法和装置
CN110727429B (zh) 一种前端页面的生成方法、装置及设备
CN113051514A (zh) 元素的定位方法、装置、电子设备及存储介质
CN113760266B (zh) 一种功能模块文件的创建方法、创建装置和电子设备
CN112169326B (zh) 图片处理方法、装置、电子设备和存储介质
US11604662B2 (en) System and method for accelerating modernization of user interfaces in a computing environment
US11126410B2 (en) Method and apparatus for building pages, apparatus and non-volatile computer storage medium
CN110737588A (zh) 一种自动埋点的方法、装置、介质和电子设备
CN113934959A (zh) 一种程序预览方法、装置、计算机设备和存储介质
CN111290757B (zh) 基于Weex的在线代码编译方法、装置及设备
CN113934412A (zh) 程序生成方法、装置、设备及存储介质
CN116009863B (zh) 前端页面渲染方法、设备及存储介质
Allen et al. PhoneGap
CN118331658B (zh) 应用程序运行方法、装置、计算机设备、存储介质和产品
CN116382775B (zh) 基于Hbuilderx插件的多平台程序包生成方法
CN118259906A (zh) 一种基于PaaS框架的多端页面适配方法、设备及介质
CN114443053A (zh) 一种目标应用程序的打包方法、装置及电子设备
CN117112003A (zh) 内容更新方法、装置、设备及存储介质
CN112558973A (zh) 一种前端页面的生成方法及装置、存储介质、电子装置
CN115543278A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20201002

WW01 Invention patent application withdrawn after publication