CN114115904A - 信息处理方法、装置、服务器及存储介质 - Google Patents
信息处理方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN114115904A CN114115904A CN202111435673.6A CN202111435673A CN114115904A CN 114115904 A CN114115904 A CN 114115904A CN 202111435673 A CN202111435673 A CN 202111435673A CN 114115904 A CN114115904 A CN 114115904A
- Authority
- CN
- China
- Prior art keywords
- file
- code
- page
- path
- application program
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请适用于人工智能技术领域,提供了一种信息处理方法、装置、服务器及存储介质,该方法包括:获取配置信息;若运行模式指示信息指示目标服务器处于开发模式,则在检测到启动操作时,从代码路径中获取应用程序代码,以及对应用程序代码进行源代码解析,得到应用程序代码所引用的底层代码文件的文件标识和业务逻辑代码文件的文件标识;对底层代码文件进行文件编译;根据页面基础路径、应用程序代码以及应用程序代码所引用的底层代码文件的文件标识和业务逻辑代码文件的文件标识,生成应用中各页面的页面结构信息及访问路径。本申请可以实现浏览器快速对应用程序代码涉及的页面的效果进行展示,有助于提高开发效率。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种信息处理方法、装置、服务器及存储介质。
背景技术
目前,前端应用越来越复杂,一个应用中包含数千个模块也比较普遍。实际应用中,通常是采用JavaScript脚本进行前端应用开发,当我们开始构建越来越大型的应用时,需要处理的代码量也呈指数级增长。
相关技术中,在面对复杂的应用时,使用JavaScript开发的应用代码的效果,通常需要较长时间才能在浏览器中反映出来,迟钝的反馈会极大地影响开发者的开发效率和幸福感。
发明内容
有鉴于此,本申请实施例提供了一种信息处理方法、装置、服务器及存储介质,以解决相关技术中,需要较长时间将应用代码的效果在浏览器中反映出来,导致降低了开发者的开发效率的问题。
本申请实施例的第一方面提供了一种信息处理方法,包括:
获取配置信息,配置信息包括:运行模式指示信息、代码路径、底层文件路径、业务逻辑文件路径、页面基础路径;
若运行模式指示信息指示目标服务器处于开发模式,则在检测到启动操作时,从代码路径中获取应用程序代码,以及对应用程序代码进行源代码解析,得到应用程序代码所引用的底层代码文件的文件标识和业务逻辑代码文件的文件标识;
根据底层代码文件的文件标识,从底层文件路径中获取底层代码文件,以及对底层代码文件进行文件编译,其中,文件编译用于将底层代码文件编译为浏览器可执行的格式的文件;
根据页面基础路径、应用程序代码以及应用程序代码所引用的底层代码文件的文件标识和业务逻辑代码文件的文件标识,生成应用中各页面的页面结构信息及访问路径,其中,访问路径用于供浏览器访问对应的页面结构信息,以实现对页面结构信息指示的页面进行展示。
进一步地,浏览器通过执行页面展示步骤实现对页面结构信息指示的页面进行展示,其中,页面展示步骤包括:
在接收到用户输入的目标访问路径时,加载目标访问路径对应的目标页面结构信息,以及对目标页面结构信息进行语法解析,得到目标页面结构信息所包括的代码文件的文件标识,其中,代码文件包括底层代码文件和业务逻辑代码文件;
向目标服务器发送包括目标文件标识的文件获取请求,接收目标服务器基于文件获取请求返回的编译后的代码文件,以及执行编译后的代码文件,实现对目标页面结构信息指示的页面进行展示,其中,目标文件标识为目标页面结构信息所包括的代码文件的文件标识。
进一步地,页面展示步骤还包括:
对所接收的编译后的代码文件进行缓存,以及在再次解析得到目标文件标识时,提取所缓存的编译后的代码文件,以及执行编译后的代码文件。
进一步地,方法还包括:
响应于接收到浏览器发送的包括目标文件标识的文件获取请求,获取与目标文件标识对应的代码文件;
对所获取的代码文件进行编译,得到编译后的代码文件,以及将编译后的代码文件向浏览器发送。
进一步地,方法还包括:
对应用程序代码进行更新监测,以及在监测到应用程序代码中存在代码更新时,对被更新的代码所在更新文件及与更新文件逻辑相关联的文件进行解析,得到更新后的应用程序代码所引用的新的代码文件。
进一步地,方法还包括:
若检测到浏览器已对更新所涉及的目标页面进行展示,则向浏览器发送更新通知,以使浏览器基于新的代码文件对目标页面进行更新。
进一步地,方法还包括:
若运行模式指示信息指示目标服务器处于生产模式,则从代码路径中获取应用程序代码,对应用程序代码进行源代码解析,得到应用程序代码所引用的代码文件的文件标识;
根据所得到的代码文件的文件标识,从底层文件路径和/或业务逻辑文件路径中获取代码文件,以及对所获取的代码文件进行编译;
将编译后的所有代码文件进行打包,得到对应于应用程序代码的应用安装包。
本申请实施例的第二方面提供了一种信息处理装置,包括:
信息配置单元,用于获取配置信息,配置信息包括:运行模式指示信息、代码路径、底层文件路径、业务逻辑文件路径、页面基础路径;
代码解析单元,用于若运行模式指示信息指示目标服务器处于开发模式,则在检测到启动操作时,从代码路径中获取应用程序代码,以及对应用程序代码进行源代码解析,得到应用程序代码所引用的底层代码文件的文件标识和业务逻辑代码文件的文件标识;
文件编译单元,用于根据底层代码文件的文件标识,从底层文件路径中获取底层代码文件,以及对底层代码文件进行文件编译,其中,文件编译用于将底层代码文件编译为浏览器可执行的格式的文件;
信息生成单元,用于根据页面基础路径、应用程序代码以及应用程序代码所引用的底层代码文件的文件标识和业务逻辑代码文件的文件标识,生成应用中各页面的页面结构信息及访问路径,其中,访问路径用于供浏览器访问对应的页面结构信息,以实现对页面结构信息指示的页面进行展示。
进一步地,浏览器通过执行页面展示步骤实现对页面结构信息指示的页面进行展示,其中,页面展示步骤包括:
在接收到用户输入的目标访问路径时,加载目标访问路径对应的目标页面结构信息,以及对目标页面结构信息进行语法解析,得到目标页面结构信息所包括的代码文件的文件标识,其中,代码文件包括底层代码文件和业务逻辑代码文件;
向目标服务器发送包括目标文件标识的文件获取请求,接收目标服务器基于文件获取请求返回的编译后的代码文件,以及执行编译后的代码文件,实现对目标页面结构信息指示的页面进行展示,其中,目标文件标识为目标页面结构信息所包括的代码文件的文件标识。
进一步地,页面展示步骤还包括:
对所接收的编译后的代码文件进行缓存,以及在再次解析得到目标文件标识时,提取所缓存的编译后的代码文件,以及执行编译后的代码文件。
进一步地,装置还包括文件发送单元。其中,文件发送单元用于:
响应于接收到浏览器发送的包括目标文件标识的文件获取请求,获取与目标文件标识对应的代码文件;
对所获取的代码文件进行编译,得到编译后的代码文件,以及将编译后的代码文件向浏览器发送。
进一步地,装置还包括文件更新单元。其中,文件更新单元用于:
对应用程序代码进行更新监测,以及在监测到应用程序代码中存在代码更新时,对被更新的代码所在更新文件及与更新文件逻辑相关联的文件进行解析,得到更新后的应用程序代码所引用的新的代码文件。
进一步地,装置还包括页面更新单元。其中,页面更新单元用于:
若检测到浏览器已对更新所涉及的目标页面进行展示,则向浏览器发送更新通知,以使浏览器基于新的代码文件对目标页面进行更新。
进一步地,装置还包括文件打包单元。其中,文件打包单元用于:
若运行模式指示信息指示目标服务器处于生产模式,则从代码路径中获取应用程序代码,对应用程序代码进行源代码解析,得到应用程序代码所引用的代码文件的文件标识;
根据所得到的代码文件的文件标识,从底层文件路径和/或业务逻辑文件路径中获取代码文件,以及对所获取的代码文件进行编译;
将编译后的所有代码文件进行打包,得到对应于应用程序代码的应用安装包。
本申请实施例的第三方面提供了一种服务器,包括存储器、处理器以及存储在存储器中并可在服务器上运行的计算机程序,处理器执行计算机程序时实现第一方面提供的信息处理方法的各步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现第一方面提供的信息处理方法的各步骤。
实施本申请实施例提供的一种信息处理方法、装置、服务器及存储介质具有以下有益效果:通过将开发人员编写的应用程序代码,生成应用中各页面的页面结构信息及访问路径,实现浏览器可以快速对应用程序代码涉及的页面的效果进行展示,有助于提高开发效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种信息处理方法的实现流程图;
图2是本申请实施例提供的一种页面展示步骤的实现流程图;
图3是本申请实施例提供的另一种信息处理方法的实现流程图;
图4是本申请实施例提供的一种信息处理装置的结构框图;
图5是本申请实施例提供的一种服务器的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例中,基于人工智能技术,以实现对应用程序代码进行处理。
本申请实施例所涉及的信息处理方法,可以由服务器执行。信息处理方法由服务器执行时,执行主体为服务器。
需要指出的是,上述服务器可以包括但不限于服务器、计算机、手机、平板或可穿戴智能设备等。另外,上述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
请参阅图1,图1示出了本申请实施例提供的一种信息处理方法的实现流程图,包括:
步骤101,获取配置信息。
其中,配置信息包括:运行模式指示信息、代码路径、底层文件路径、业务逻辑文件路径、页面基础路径。
其中,上述运行模式指示信息,通常是用于指示运行模式的信息。实践中,上述运行模式指示信息所指示的运行模式可以包括开发模式和生产模式。
上述代码路径,通常是用于存储应用程序代码的路径。上述底层文件路径,通常是用于存储底层代码文件的路径。上述业务逻辑文件路径通常是用于存储业务逻辑代码文件的路径。页面基础路径,通常是页面的根路径。
实践中,配置信息中还可以包括其它的配置项,如,所需加载的插件的标识信息。
这里,上述执行主体可以通过多种方式获取到配置信息,如,可以接收开发人员输入的配置信息,也可以从通信连接的其它设备获取到配置信息。
步骤102,若运行模式指示信息指示目标服务器处于开发模式,则在检测到启动操作时,从代码路径中获取应用程序代码,以及对应用程序代码进行源代码解析,得到应用程序代码所引用的底层代码文件的文件标识和业务逻辑代码文件的文件标识。
其中,上述目标服务器通常是执行上述信息处理方法的服务器。实践中,在本实施例的方法应用于开发服务器时,上述目标服务器可以为开发服务器。若应用于持续集成服务器时,上述目标服务器可以为持续集成服务器。
其中,上述启动操作通常是用于触发启动与浏览器交互的操作。实践中,上述启动操作的形式可以是各种操作,如,可以是点击预设按键的操作,也可以是在触摸屏上按照预设轨迹滑动的操作。本实施例对启动操作的形式不做具体限定。
其中,底层代码文件通常是一些基础的依赖文件。底层代码文件中的代码通常不会变。业务逻辑代码文件通常是开发人员撰写的业务代码。底层代码文件的格式和业务逻辑代码文件的格式,均可以是JSX、CSS或者Vue/React等。需要指出的是,底层代码文件的格式和业务逻辑代码文件的格式,可以相同也可以不同。
其中,上述文件标识通常是用于指示代码文件的标识。如,可以为代码文件的名称。代码文件可以包括底层代码文件和业务逻辑代码文件。
这里,在运行模式指示信息指示目标服务器处于开发模式,且检测到启动操作时,目标服务器可以从所配置的代码路径中获取应用程序代码。然后,目标服务器可以基于应用程序代码的格式,对应用程序代码进行解析,得到应用程序代码中所引用的底层代码文件的文件标识和所引用的业务逻辑代码文件的文件标识。
步骤103,根据底层代码文件的文件标识,从底层文件路径中获取底层代码文件,以及对底层代码文件进行文件编译。
其中,文件编译用于将底层代码文件编译为浏览器可执行的格式的文件。
这里,上述执行主体可以采用底层代码文件的文件标识,从底层文件路径中获取与文件标识对应的底层代码文件。然后,上述执行主体可以对所获取的代码文件进行文件编译,以得到浏览器可执行格式的文件。
实践中,上述目标服务器通常采用基于rust语言编写的swc编译工具,对代码文件进行编译。需要指出的是,由于rust语言是一种脚本语言,由rust语言编写的代码操作硬件的能力通常较强,且运用多核的能力较强,因此,采用swc进行编译,编译速度更快,有助于进一步提高开发效率。
另外,由于底层代码文件通常不会变,因此,在检测到启动操作时,将所涉及的底层代码文件一并编译完成,之后使用时,只需直接使用即可,可以提高效率。
步骤104,根据页面基础路径、应用程序代码以及应用程序代码所引用的底层代码文件的文件标识和业务逻辑代码文件的文件标识,生成应用中各页面的页面结构信息及访问路径。
其中,访问路径用于供浏览器访问对应的页面结构信息,以实现对页面结构信息指示的页面进行展示。上述页面结构信息通常是用于指示页面的逻辑结构的信息。
其中,上述页面基础路径通常是一个根路径,访问路径通常是在页面基础路径下的子路径。
这里,上述执行主体可以在所配置的页面基础路径的基础上,采用应用程序代码、应用程序代码所引用的底层代码文件的文件标识、应用程序代码所引用的业务逻辑代码文件的文件标识,针对每个页面,从应用程序代码中抽取信息,生成页面结构信息和访问路径。这样,开发人员可以将页面的访问路径输入浏览器,实现将该页面在浏览器上展示。
需要指出的是,上述浏览器通常是指安装有浏览器的终端设备。该终端设备通常是与开发服务器相异的硬件设备。
本实施例提供的信息处理方法,通过将开发人员编写的应用程序代码,生成应用中各页面的页面结构信息及访问路径,实现浏览器可以快速对应用程序代码涉及的页面的效果进行展示,有助于提高开发效率。
在本实施例的一些可选的实现方式中,浏览器通过执行页面展示步骤实现对页面结构信息指示的页面进行展示。其中,页面展示步骤可以包括如下步骤201-步骤202。图2为本申请实施例提供的一种页面展示步骤的实现流程图。
步骤201,在接收到用户输入的目标访问路径时,加载目标访问路径对应的目标页面结构信息,以及对目标页面结构信息进行语法解析,得到目标页面结构信息所包括的代码文件的文件标识。
其中,代码文件包括底层代码文件和业务逻辑代码文件。
其中,上述目标访问路径通常是所输入的访问路径。上述目标页面结构信息通常是目标访问路径对应的页面结构信息。
这里,浏览器可以接收用户输入的目标访问路径,然后,采用目标访问路径查找该目标访问路径对应的页面结构信息。由于浏览器从外界加载的文件通常需要符合特定的语法格式。因此,浏览器可以基于该特定的语法格式,对所加载的页面结构信息进行语法解析,从而得到其中所包括的代码文件的文件标识,如文件名。这样,浏览器可以采用该文件标识从底层文件路径,和/或业务逻辑文件路径下获取对应的代码文件。
实践中,浏览器通常是通过访问路径向开发服务器请求页面结构信息。需要指出的是,页面结构信息中所包括的代码文件可以有多个,此时,可以从页面结构信息中获取得到多个代码文件的文件标识及各代码文件之间的嵌套关系。
步骤202,向目标服务器发送包括目标文件标识的文件获取请求,接收目标服务器基于文件获取请求返回的编译后的代码文件,以及执行编译后的代码文件,实现对目标页面结构信息指示的页面进行展示。
其中,目标文件标识为目标页面结构信息所包括的代码文件的文件标识。
这里,浏览器可以向目标服务器发送包括目标文件标识的文件获取请求。然后,浏览器可以接收到目标服务器基于文件获取请求返回的编译后的代码文件。之后,浏览器可以执行该编译后的代码文件,实现对目标页面结构信息指示的页面进行展示。
需要指出的是,目标服务器只对浏览器需要用到的业务逻辑代码文件进行编译,与在目标服务器启动时,将所有的代码文件进行编译相比,可以提高目标服务器的开启速度。在开发模式下,目标服务器通常为开发服务器,也即,在开发模式下,只对浏览器需要用到的业务逻辑代码文件进行编译,有助于提高开发服务器的启动速度,从而有助于进一步提高开发效率。
在一些可选的实现方式中,页面展示步骤还可以包括如下步骤:对所接收的编译后的代码文件进行缓存,以及在再次解析得到目标文件标识时,提取所缓存的编译后的代码文件,以及执行编译后的代码文件。
这里,若浏览器已经对某个代码文件发送了文件获取请求,且获取到了编译后的该代码文件时,浏览器可以将该编译后的代码文件进行缓存,在缓存有效期内,浏览器不用对相同的代码文件进行请求,可以提高开发效果展示效率,从而有助于进一步提高开发效率。
在一些可选的实现方式中,上述信息处理方法还可以包括:首先,响应于接收到浏览器发送的包括目标文件标识的文件获取请求,获取与目标文件标识对应的代码文件。然后,对所获取的代码文件进行编译,得到编译后的代码文件,以及将编译后的代码文件向浏览器发送。
这里,目标服务器可以在接收到浏览器的文件获取请求时,将所请求的代码文件进行编译,以及将编译后的代码文件返回给浏览器。
需要指出的是,在开发模式下,目标服务器通常为开发服务器。在浏览器使用到相应的代码文件时,开发服务器才对相应的代码文件进行编译,比及开发服务器在启动时,一次性将所有的代码文件进行编译完,可以减少开发服务器启动时的编译量。另外,在浏览器使用到相应的代码文件时,开发服务器才对相应的代码文件进行编译的方式,可以在开发人员中途对所引用的代码文件进行更改时,有效避免对某些不必要编译的代码文件进行编译,有助于提高编译效率。
请参阅图3,图3是本申请实施例提供的一种信息处理方法的实现流程图。本实施例提供的信息处理方法,可以包括以下步骤:
步骤301,获取配置信息。
其中,配置信息包括:运行模式指示信息、代码路径、底层文件路径、业务逻辑文件路径、页面基础路径。
步骤302,若运行模式指示信息指示目标服务器处于开发模式,则在检测到启动操作时,从代码路径中获取应用程序代码,以及对应用程序代码进行源代码解析,得到应用程序代码所引用的底层代码文件的文件标识和业务逻辑代码文件的文件标识。
步骤303,根据底层代码文件的文件标识,从底层文件路径中获取底层代码文件,以及对底层代码文件进行文件编译。
其中,文件编译用于将底层代码文件编译为浏览器可执行的格式的文件。
步骤304,根据页面基础路径、应用程序代码以及应用程序代码所引用的底层代码文件的文件标识和业务逻辑代码文件的文件标识,生成应用中各页面的页面结构信息及访问路径。
其中,访问路径用于供浏览器访问对应的页面结构信息,以实现对页面结构信息指示的页面进行展示。
在本实施例中,步骤301-304的具体操作与图1所示的实施例中步骤101-104的操作基本相同,在此不再赘述。
步骤305,对应用程序代码进行更新监测,以及在监测到应用程序代码中存在代码更新时,对被更新的代码所在更新文件及与更新文件逻辑相关联的文件进行解析,得到更新后的应用程序代码所引用的新的代码文件。
这里,目标服务器可以对应用程序代码进行实时更新监测,如,可以通过创建监测进程,实现对应用程序代码的代码更新情况进行实时监测。若监测到存在代码更新,则可以定位到该更新代码所在文件,为了便于描述,这里记作更新文件。然后,目标服务器可以对更新文件进行语法分析,得到更新文件在逻辑上相关联的文件。这样,目标服务器可以对更新文件及与更新文件逻辑相关联的文件进行解析,得到更新后的应用程序代码所引用的新的代码文件。
本实施例可以实现对应用程序代码所引用的代码文件进行及时监测。
需要指出的是,更新后的应用程序代码所引用的新的代码文件,通常是指更新文件及与更新文件逻辑相关联的文件代码在修改后所引用的代码文件。举例来说,若更新文件及与更新文件逻辑相关联的文件原本引用的代码文件为:文件1、文件2和文件3,修改后,更新文件及与更新文件逻辑相关联的文件所引用的文件可以为:文件1和文件2,也可以为:文件1、文件2、文件3和文件4。
在一些可选的实现方式中,上述信息处理方法还可以包括如下步骤:若检测到浏览器已对更新所涉及的目标页面进行展示,则向浏览器发送更新通知,以使浏览器基于新的代码文件对目标页面进行更新。
其中,上述目标页面通常是更新所涉及的页面。
这里,目标服务器可以通过针对页面的代码文件的文件获取请求,确定某个页面是否已被浏览器展示过,从而实现监测浏览器是否对更新所涉及的目标页面展示过。另外,浏览器与目标服务器之间通常建立有套接字链接,在目标服务器中已对相应代码进行更新后,可以通过该链接向浏览器发送通知。这样,浏览器可以基于所得到的新的代码文件对所展示的目标页面的内容进行更新。具体地,浏览器可以采用新的代码文件的文件标识向目标服务器发送文件获取请求,以获取编译后的新的代码文件,继而执行该编译后的代码文件。实现对目标页面进行更新。
本实施例可以实现在代码更新时,目标服务器仅需对少量的代码文件进行编译,有助于提高开发过程中代码的热更新效率以及效果展示效率。可以极大地提升开发人员的开发体验。
在本申请的各个实施例的可选的实现方式中,上述信息处理方法还可以包括如下步骤:
首先,若运行模式指示信息指示目标服务器处于生产模式,则从代码路径中获取应用程序代码,对应用程序代码进行源代码解析,得到应用程序代码所引用的代码文件的文件标识。
这里,在运行模式指示信息指示目标服务器处于生产模式时,目标服务器通常为持续集成服务器。在生产模式下,目标服务器可以从代码路径中获取应用程序代码,以及基于应用程序代码的格式,对应用程序代码进行解析,得到应用程序代码中所引用的底层代码文件的文件标识和所引用的业务逻辑代码文件的文件标识。
然后,根据所得到的代码文件的文件标识,从底层文件路径和/或业务逻辑文件路径中获取代码文件,以及对所获取的代码文件进行编译。
这里,目标服务器可以采用各代码文件的文件标识,从底层文件路径,和/或业务逻辑文件路径中获取对应的代码文件,然后,对各代码文件进行编译。实践中,上述目标服务器通常采用基于rust语言编写的swc编译工具,对代码文件进行编译。需要指出的是,由于rust语言是一种脚本语言,由rust语言编写的代码操作硬件的能力通常较强,且运用多核的能力较强,因此,采用swc进行编译,编译速度更快,有助于提高程序生产效率。
最后,将编译后的所有代码文件进行打包,得到对应于应用程序代码的应用安装包。
这里,可以采用esbuild打包工具对编译后的代码文件进行打包。其中,esbuild是使用GO语言编写的打包速度极快的打包工具。采用esbuild打包工具对编译后的代码文件进行打包,可以实现快速打包,实现提高程序生产效率。
需要指出的是,本申请提供的信息处理方法,用于开发服务器时,通常是处于开发模式。当用于持续集成服务器时,通常是处于生产模式。在不同的模式下,对应用程序代码的处理方式不同。且在生产模式下,通常是对代码文件进行全量编译。
请参阅图4,图4是本申请实施例提供的一种信息处理装置400的结构框图。本实施例中该信息处理装置包括的各单元用于执行图1-图3对应的实施例中的各步骤。具体请参阅图1-图3以及图1-图3所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图4,信息处理装置400包括:
信息配置单元401,用于获取配置信息,配置信息包括:运行模式指示信息、代码路径、底层文件路径、业务逻辑文件路径、页面基础路径;
代码解析单元402,用于若运行模式指示信息指示目标服务器处于开发模式,则在检测到启动操作时,从代码路径中获取应用程序代码,以及对应用程序代码进行源代码解析,得到应用程序代码所引用的底层代码文件的文件标识和业务逻辑代码文件的文件标识;
文件编译单元403,用于根据底层代码文件的文件标识,从底层文件路径中获取底层代码文件,以及对底层代码文件进行文件编译,其中,文件编译用于将底层代码文件编译为浏览器可执行的格式的文件;
信息生成单元404,用于根据页面基础路径、应用程序代码以及应用程序代码所引用的底层代码文件的文件标识和业务逻辑代码文件的文件标识,生成应用中各页面的页面结构信息及访问路径,其中,访问路径用于供浏览器访问对应的页面结构信息,以实现对页面结构信息指示的页面进行展示。
作为本申请一实施例,浏览器通过执行页面展示步骤实现对页面结构信息指示的页面进行展示,其中,页面展示步骤包括:首先,在接收到用户输入的目标访问路径时,加载目标访问路径对应的目标页面结构信息,以及对目标页面结构信息进行语法解析,得到目标页面结构信息所包括的代码文件的文件标识。其中,代码文件包括底层代码文件和业务逻辑代码文件,然后,向目标服务器发送包括目标文件标识的文件获取请求,接收目标服务器基于文件获取请求返回的编译后的代码文件,以及执行编译后的代码文件,实现对目标页面结构信息指示的页面进行展示。其中,目标文件标识为目标页面结构信息所包括的代码文件的文件标识。
作为本申请一实施例,页面展示步骤还包括:对所接收的编译后的代码文件进行缓存,以及在再次解析得到目标文件标识时,提取所缓存的编译后的代码文件,以及执行编译后的代码文件。
作为本申请一实施例,装置还包括文件发送单元(图中未示出)。其中,文件发送单元用于:首先,响应于接收到浏览器发送的包括目标文件标识的文件获取请求,获取与目标文件标识对应的代码文件。然后,对所获取的代码文件进行编译,得到编译后的代码文件,以及将编译后的代码文件向浏览器发送。
作为本申请一实施例,装置还包括文件更新单元(图中未示出)。其中,文件更新单元用于:对应用程序代码进行更新监测,以及在监测到应用程序代码中存在代码更新时,对被更新的代码所在更新文件及与更新文件逻辑相关联的文件进行解析,得到更新后的应用程序代码所引用的新的代码文件。
作为本申请一实施例,装置还包括页面更新单元(图中未示出)。其中,页面更新单元用于:若检测到浏览器已对更新所涉及的目标页面进行展示,则向浏览器发送更新通知,以使浏览器基于新的代码文件对目标页面进行更新。
作为本申请一实施例,装置还包括文件打包单元(图中未示出)。其中,文件打包单元用于:首先,若运行模式指示信息指示目标服务器处于生产模式,则从代码路径中获取应用程序代码,对应用程序代码进行源代码解析,得到应用程序代码所引用的代码文件的文件标识。然后,根据所得到的代码文件的文件标识,从底层文件路径和/或业务逻辑文件路径中获取代码文件,以及对所获取的代码文件进行编译。最后,将编译后的所有代码文件进行打包,得到对应于应用程序代码的应用安装包。
本实施例提供的装置,通过将开发人员编写的应用程序代码,生成应用中各页面的页面结构信息及访问路径,实现浏览器可以快速对应用程序代码涉及的页面的效果进行展示,有助于提高开发效率。
应当理解的是,图4示出的信息处理装置的结构框图中,各单元用于执行图1-图3对应的实施例中的各步骤,而对于图1-图3对应的实施例中的各步骤已在上述实施例中进行详细解释,具体请参阅图1-图3以及图1-图3所对应的实施例中的相关描述,此处不再赘述。
图5是本申请另一实施例提供的一种服务器的结构框图。如图5所示,该实施例的服务器500包括:处理器501、存储器502以及存储在存储器502中并可在处理器501上运行的计算机程序503,例如信息处理方法的程序。处理器501执行计算机程序503时实现上述各个信息处理方法各实施例中的步骤,例如图1所示的步骤101至步骤104。或者,处理器501执行计算机程序503时实现上述图4对应的实施例中各单元的功能,例如,图4所示的单元401至404的功能,具体请参阅图4对应的实施例中的相关描述,此处不赘述。
示例性的,计算机程序503可以被分割成一个或多个单元,一个或者多个单元被存储在存储器502中,并由处理器501执行,以完成本申请。一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序503在服务器500中的执行过程。例如,计算机程序503可以被分割成信息配置单元,代码解析单元,文件编译单元,信息生成单元,各单元具体功能如上。
服务器可以包括,但不仅限于,处理器501、存储器502。本领域技术人员可以理解,图5仅仅是服务器500的示例,并不构成对服务器500的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如转台设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器501可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器502可以是服务器500的内部存储单元,例如服务器500的硬盘或内存。存储器502也可以是服务器500的外部存储设备,例如服务器500上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器502还可以既包括服务器500的内部存储单元也包括外部存储设备。存储器502用于存储计算机程序以及转台设备所需的其他程序和数据。存储器502还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。其中,计算机可读存储介质可以是非易失性的,也可以是易失性的。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种信息处理方法,其特征在于,所述方法包括:
获取配置信息,所述配置信息包括:运行模式指示信息、代码路径、底层文件路径、业务逻辑文件路径、页面基础路径;
若所述运行模式指示信息指示目标服务器处于开发模式,则在检测到启动操作时,从所述代码路径中获取应用程序代码,以及对所述应用程序代码进行源代码解析,得到所述应用程序代码所引用的底层代码文件的文件标识和业务逻辑代码文件的文件标识;
根据所述底层代码文件的文件标识,从所述底层文件路径中获取所述底层代码文件,以及对所述底层代码文件进行文件编译,其中,所述文件编译用于将所述底层代码文件编译为浏览器可执行的格式的文件;
根据所述页面基础路径、所述应用程序代码以及所述应用程序代码所引用的所述底层代码文件的文件标识和所述业务逻辑代码文件的文件标识,生成应用中各页面的页面结构信息及访问路径,其中,所述访问路径用于供浏览器访问对应的页面结构信息,以实现对页面结构信息指示的页面进行展示。
2.根据权利要求1所述的信息处理方法,其特征在于,所述浏览器通过执行页面展示步骤实现对页面结构信息指示的页面进行展示,其中,所述页面展示步骤包括:
在接收到用户输入的目标访问路径时,加载所述目标访问路径对应的目标页面结构信息,以及对所述目标页面结构信息进行语法解析,得到所述目标页面结构信息所包括的代码文件的文件标识,其中,所述代码文件包括底层代码文件和业务逻辑代码文件;
向所述目标服务器发送包括目标文件标识的文件获取请求,接收所述目标服务器基于所述文件获取请求返回的编译后的代码文件,以及执行所述编译后的代码文件,实现对所述目标页面结构信息指示的页面进行展示,其中,所述目标文件标识为所述目标页面结构信息所包括的代码文件的文件标识。
3.根据权利要求2所述的信息处理方法,其特征在于,所述页面展示步骤还包括:
对所接收的所述编译后的代码文件进行缓存,以及在再次解析得到所述目标文件标识时,提取所缓存的所述编译后的代码文件,以及执行所述编译后的代码文件。
4.根据权利要求2所述的信息处理方法,其特征在于,所述方法还包括:
响应于接收到所述浏览器发送的包括所述目标文件标识的所述文件获取请求,获取与所述目标文件标识对应的代码文件;
对所获取的代码文件进行编译,得到编译后的代码文件,以及将所述编译后的代码文件向所述浏览器发送。
5.根据权利要求1所述的信息处理方法,其特征在于,所述方法还包括:
对所述应用程序代码进行更新监测,以及在监测到所述应用程序代码中存在代码更新时,对被更新的代码所在更新文件及与所述更新文件逻辑相关联的文件进行解析,得到更新后的所述应用程序代码所引用的新的代码文件。
6.根据权利要求5所述的信息处理方法,其特征在于,所述方法还包括:
若检测到所述浏览器已对更新所涉及的目标页面进行展示,则向所述浏览器发送更新通知,以使所述浏览器基于所述新的代码文件对所述目标页面进行更新。
7.根据权利要求1-6中任一项所述的信息处理方法,其特征在于,所述方法还包括:
若所述运行模式指示信息指示所述目标服务器处于生产模式,则从所述代码路径中获取所述应用程序代码,对所述应用程序代码进行源代码解析,得到所述应用程序代码所引用的代码文件的文件标识;
根据所得到的代码文件的文件标识,从所述底层文件路径和/或所述业务逻辑文件路径中获取代码文件,以及对所获取的代码文件进行编译;
将编译后的所有代码文件进行打包,得到对应于所述应用程序代码的应用安装包。
8.一种信息处理装置,其特征在于,所述装置包括:
信息配置单元,用于获取配置信息,所述配置信息包括:运行模式指示信息、代码路径、底层文件路径、业务逻辑文件路径、页面基础路径;
代码解析单元,用于若所述运行模式指示信息指示目标服务器处于开发模式,则在检测到启动操作时,从所述代码路径中获取应用程序代码,以及对所述应用程序代码进行源代码解析,得到所述应用程序代码所引用的底层代码文件的文件标识和业务逻辑代码文件的文件标识;
文件编译单元,用于根据所述底层代码文件的文件标识,从所述底层文件路径中获取所述底层代码文件,以及对所述底层代码文件进行文件编译,其中,所述文件编译用于将所述底层代码文件编译为浏览器可执行的格式的文件;
信息生成单元,用于根据所述页面基础路径、所述应用程序代码以及所述应用程序代码所引用的所述底层代码文件的文件标识和所述业务逻辑代码文件的文件标识,生成应用中各页面的页面结构信息及访问路径,其中,所述访问路径用于供浏览器访问对应的页面结构信息,以实现对页面结构信息指示的页面进行展示。
9.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111435673.6A CN114115904A (zh) | 2021-11-29 | 2021-11-29 | 信息处理方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111435673.6A CN114115904A (zh) | 2021-11-29 | 2021-11-29 | 信息处理方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114115904A true CN114115904A (zh) | 2022-03-01 |
Family
ID=80371540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111435673.6A Pending CN114115904A (zh) | 2021-11-29 | 2021-11-29 | 信息处理方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114115904A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112947984A (zh) * | 2020-09-29 | 2021-06-11 | 深圳市明源云科技有限公司 | 应用程序开发方法及装置 |
CN115134270A (zh) * | 2022-06-28 | 2022-09-30 | 北京奇艺世纪科技有限公司 | 代码监控方法、监控系统、电子设备及存储介质 |
CN115629750A (zh) * | 2022-12-24 | 2023-01-20 | 西安葡萄城软件有限公司 | 一种支持Excel公式的服务端可视化编程方法及系统 |
-
2021
- 2021-11-29 CN CN202111435673.6A patent/CN114115904A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112947984A (zh) * | 2020-09-29 | 2021-06-11 | 深圳市明源云科技有限公司 | 应用程序开发方法及装置 |
CN115134270A (zh) * | 2022-06-28 | 2022-09-30 | 北京奇艺世纪科技有限公司 | 代码监控方法、监控系统、电子设备及存储介质 |
CN115134270B (zh) * | 2022-06-28 | 2023-09-08 | 北京奇艺世纪科技有限公司 | 代码监控方法、监控系统、电子设备及存储介质 |
CN115629750A (zh) * | 2022-12-24 | 2023-01-20 | 西安葡萄城软件有限公司 | 一种支持Excel公式的服务端可视化编程方法及系统 |
CN115629750B (zh) * | 2022-12-24 | 2023-03-17 | 西安葡萄城软件有限公司 | 一种支持Excel公式的服务端可视化编程方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114115904A (zh) | 信息处理方法、装置、服务器及存储介质 | |
US8984485B2 (en) | Analysis of source code changes | |
US10353702B2 (en) | Source code element signatures | |
CN110865889B (zh) | 组件间传递事件的方法和装置 | |
US9952835B2 (en) | Generation of hybrid enterprise mobile applications in cloud environment | |
CN110673837B (zh) | 代码修复方法及装置、电子设备、计算机可读存储介质 | |
CN115599386A (zh) | 代码生成方法、装置、设备及存储介质 | |
CN107391528B (zh) | 前端组件依赖信息搜索方法及设备 | |
CN111338666A (zh) | 一种实现应用程序升级的方法、装置、介质和电子设备 | |
CN110020370B (zh) | 在客户端应用中实现动画的方法、装置及动画脚本的框架 | |
CN114116505A (zh) | 代码测试方法及装置 | |
CN113836469A (zh) | 网站前端开发方法和设备 | |
CN111506904B (zh) | 漏洞在线修复的方法和装置 | |
CN111338613A (zh) | 基于jsp的前端埋点方法及装置 | |
CN108628909B (zh) | 信息推送方法和装置 | |
CN115048082A (zh) | 微前端系统构建方法、装置、服务器及可读存储介质 | |
CN112148318B (zh) | 应用包发布方法、应用方法、装置、介质、服务器及设备 | |
CN114816816A (zh) | 崩溃堆栈信息处理方法、装置、设备及存储介质 | |
CN111400623B (zh) | 用于搜索信息的方法和装置 | |
CN113672514A (zh) | 测试方法、装置、服务器及存储介质 | |
CN113392311A (zh) | 字段搜索方法、字段搜索装置、电子设备及存储介质 | |
CN112433816A (zh) | 基于Javascript引擎的性能优化方法和装置 | |
CN112346761A (zh) | 前端资源上线方法、设备、系统及存储介质 | |
CN111767486A (zh) | 用于展示页面的方法、装置、电子设备和计算机可读介质 | |
US11960560B1 (en) | Methods for analyzing recurring accessibility issues with dynamic web site behavior and devices thereof |
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 |