CN117112021A - 路由配置生成方法、装置、设备及计算机可读存储介质 - Google Patents

路由配置生成方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN117112021A
CN117112021A CN202311383400.0A CN202311383400A CN117112021A CN 117112021 A CN117112021 A CN 117112021A CN 202311383400 A CN202311383400 A CN 202311383400A CN 117112021 A CN117112021 A CN 117112021A
Authority
CN
China
Prior art keywords
file
page
name
path
route
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
CN202311383400.0A
Other languages
English (en)
Other versions
CN117112021B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311383400.0A priority Critical patent/CN117112021B/zh
Publication of CN117112021A publication Critical patent/CN117112021A/zh
Application granted granted Critical
Publication of CN117112021B publication Critical patent/CN117112021B/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/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种路由配置生成方法、装置、设备及计算机可读存储介质;方法包括:获取待解析的初始文件夹,所述初始文件夹中包括至少一个页面对应的待解析文件,所述待解析文件的文件标识信息是按照预设的文件名命名规则设置的;遍历所述初始文件夹,得到每个页面对应的至少一个待解析文件;对所述每个页面对应的至少一个待解析文件的文件标识信息进行解析,得到所述每个页面对应的解析结果,所述解析结果至少包括页面对应的页面路由名称、页面路由路径和页面文件的文件路径;将所述每个页面对应的解析结果确定为所述每个页面的路由配置信息。通过本申请,能够提高路由配置信息的生成效率。

Description

路由配置生成方法、装置、设备及计算机可读存储介质
技术领域
本申请涉及互联网技术,尤其涉及一种路由配置生成方法、装置、设备及计算机可读存储介质。
背景技术
路由配置是网络应用中的重要配置文件,用于进行页面跳转。相关技术中,网络应用每新增一个页面就需要人工添加一个路由配置。当网络应用的页面数量较多时,对路由配置的编写将耗费大量的人力,不仅降低了开发人员的工作效率,同时也增加了网络应用的维护难度。
发明内容
本申请实施例提供一种路由配置生成方法、装置、设备及计算机可读存储介质,能够自动生成路由配置信息,提高路由配置的生成效率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种路由配置生成方法,所述方法包括:
获取待解析的初始文件夹,所述初始文件夹中包括至少一个页面对应的待解析文件,所述待解析文件的文件名是按照预设的文件名命名规则设置,所述文件名命名规则至少包括:文件名中包括预设的渲染函数关键字或者包括表征获取页面数据的关键字,文件名中包括预设的渲染函数关键字,以及表征动态路由的第一标识符、表征通配符的第二标识符和表征可选参数路由的第三标识符中至少之一的;
遍历所述初始文件夹,得到每个页面对应的至少一个待解析文件,以及所述初始文件夹到各个待解析文件的遍历记录表;
对所述每个页面对应的至少一个待解析文件的文件名和遍历记录表进行解析,得到所述每个页面对应的解析结果,所述解析结果至少包括页面对应的路由名称、路由路径和页面组件文件的文件路径;
将所述每个页面对应的解析结果确定为所述每个页面的路由配置信息。
本申请实施例提供一种路由配置生成装置,包括:
第一获取模块,用于获取待解析的初始文件夹,所述初始文件夹中包括至少一个页面对应的待解析文件,所述待解析文件的文件名是按照预设的文件名命名规则设置的,所述文件名命名规则至少包括:文件名中包括预设的渲染函数关键字或者包括表征获取页面数据的关键字,文件名中包括预设的渲染函数关键字,以及表征动态路由的第一标识符、表征通配符的第二标识符和表征可选参数路由的第三标识符中至少之一;
文件遍历模块,用于遍历所述初始文件夹,得到每个页面对应的至少一个待解析文件,以及所述初始文件夹到各个待解析文件的遍历记录表;
文件解析模块,用于对所述每个页面对应的至少一个待解析文件的文件名和遍历记录表进行解析,得到所述每个页面对应的解析结果,所述解析结果至少包括页面对应的路由名称、路由路径和页面组件文件的文件路径;
第一确定模块,用于将所述每个页面对应的解析结果确定为所述每个页面的路由配置信息。
在一些实施例中,文件遍历模块,还用于:
通过回溯递归算法,逐层遍历所述初始文件夹包括的子文件;
当所述子文件为文件夹时,将所述子文件的文件名增加至所述遍历记录表中,直至遍历到不为文件夹的子文件,将不为文件夹的子文件确定为页面对应的至少一个待解析文件,并得到待解析文件的遍历记录表。
在一些实施例中,页面对应的待解析文件至少包括用于进行页面渲染的第一待解析文件,文件解析模块,还用于:
对所述第一待解析文件的文件名和遍历记录表进行解析,得到所述页面对应的路由名称、路由路径和页面组件文件的文件路径;
将所述页面对应的路由名称、路由路径和页面组件文件的文件路径,确定为所述页面对应的解析结果。
在一些实施例中,当页面对应的待解析文件包括用于进行页面渲染的第一待解析文件和用于获取页面数据的第二待解析文件,文件解析模块,还用于:
对所述第一待解析文件的文件名和遍历记录表进行解析,得到所述页面对应的路由名称、路由路径和页面组件文件的文件路径;
获取所述第二待解析文件的第二绝对路径,将所述第二绝对路径确定为所述页面对应的页面数据来源信息;
将所述页面对应的路由名称、路由路径、页面组件文件的文件路径和页面数据来源信息确定为所述页面对应的解析结果。
在一些实施例中,文件解析模块还用于:
确定所述第一待解析文件的第一绝对路径,将所述第一绝对路径确定为页面组件文件的文件路径;
当所述第一待解析文件的文件名中仅包括预设的渲染函数关键字时,将所述遍历记录表中包括的文件名利用第二连接符进行拼接,得到第一相对路径;
将所述第一相对路径确定为所述路由路径;
将所述遍历记录表中包括的各个文件名通过预设的第一连接符进行拼接,得到所述路由名称。
在一些实施例中,文件解析模块还用于:
确定所述第一待解析文件的第一绝对路径,将所述第一绝对路径确定为所述页面组件文件的文件路径;
当所述第一待解析文件的文件名中包括预设的渲染函数关键字和表征动态路由的第一标识符时,且不包括表征通配符的第二标识符以及表征可选参数路由的第三标识符时,获取所述第一标识符对应的动态参数;
将所述遍历记录表中包括的文件名利用第二连接符进行拼接,得到第一相对路径;
基于所述第一相对路径和所述第一待解析文件的文件名,确定所述路由路径;
基于所述遍历记录表和所述第一待解析文件的文件名,确定路由名称。
在一些实施例中,文件解析模块还用于:
当所述第一待解析文件的文件名中包括预设的渲染函数关键字和表征动态路由的第一标识符时,且不包括表征通配符的第二标识符以及表征可选参数路由的第三标识符时,将所述第一相对路径和所述动态参数通过第三连接符进行拼接,得到所述路由路径;
当所述第一待解析文件的文件名中包括预设的渲染函数关键字、所述第一标识符和所述第二标识符时,将所述文件名中的渲染函数关键字删除、将所述第一标识符映射为第三连接符,将所述第二标识符映射为第二关键字,得到更新后的文件名,将所述第一相对路径和所述更新后的文件名进行拼接,得到所述路由路径;
当所述第一待解析文件的文件名中包括预设的渲染函数关键字、所述第一标识符、所述第二标识符和所述第三标识符时,将所述文件名中的渲染函数关键字删除、将所述第一标识符映射为第三连接符,将所述第二标识符映射为第二关键字,将所述第三标识符映射为第三关键字,得到更新后的文件名,将所述第一相对路径和所述更新后的文件名进行拼接,得到所述路由路径。
在一些实施例中,文件解析模块还用于:
当所述第一待解析文件的文件名中包括预设的渲染函数关键字和表征动态路由的第一标识符时,且不包括表征通配符的第二标识符以及表征可选参数路由的第三标识符时,将所述遍历记录表中包括的各个文件名,以及所述动态参数通过预设的第一连接符进行拼接,得到所述路由名称;
当所述第一待解析文件的文件名中包括预设的渲染函数关键字、所述第一标识符和所述第二标识符时,将所述遍历记录表中包括的各个文件名,以及所述动态参数和表征通配符的第一预设字符串通过预设的第一连接符进行拼接,得到所述路由名称;
当所述第一待解析文件的文件名中包括预设的渲染函数关键字、所述第一标识符、所述第二标识符和所述第三标识符时,将所述遍历记录表中包括的各个文件名,以及所述动态参数和表征可选参数路由的第二预设字符串通过预设的第一连接符进行拼接,得到所述路由名称。
在一些实施例中,该装置还包括:
文件创建模块,用于接收文件创建请求,响应于所述文件创建请求,创建新文件,所述新文件的文件名为默认命名;
界面呈现模块,用于响应于接收到的文件名修改指令,呈现文件名设置提示界面,在所述文件名设置提示界面中呈现文件名命名规则,所述文件名命名规则至少包括:文件名中包括预设的渲染函数关键字或表征获取页面数据的关键字,文件名中包括预设的渲染函数关键字,以及预设的第一标识符、第二标识符和第三标识符中至少之一;
第二获取模块,用于响应于接收到的文件名输入操作,获取所述新文件的修改后的文件名;
第二确定模块,用于当所述修改后的文件名符合所述文件名命名规则时,将所述修改后的文件名确定为所述新文件的文件名;
第三确定模块,用于确定所述新文件的路由配置信息。
在一些实施例中,该装置还包括:
信息输出模块,用于当所述修改后的文件名不符合所述文件名命名规则时,输出修改后的文件名不符合文件名命名规则的提示信息以及是否使用修改后的文件名的选择信息;
第四确定模块,用于当接收到确定使用修改后的文件名的第一选择指令时,将所述修改后的文件名确定为所述新文件的文件名;
文件名删除模块,用于当接收到不使用修改后的文件名的第二选择指令时,删除所述修改后的文件名。
本申请实施例提供一种电子设备,所述电子设备包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现本申请实施例提供的路由配置生成方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机程序或计算机可执行指令,用于被处理器执行时实现本申请实施例提供的路由配置生成方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或计算机可执行指令,述计算机程序或计算机可执行指令被处理器执行时,实现本申请实施例提供的路由配置生成方法。
本申请实施例具有以下有益效果:
首先遍历待解析的初始文件夹,得到每个页面对应的至少一个待解析文件,其中,待解析文件的文件名是满足预设的文件命名规则的,文件名命名规则至少包括:文件名中包括预设的渲染函数关键字或者包括表征获取页面数据的关键字,文件名中包括预设的渲染函数关键字,以及表征动态路由的第一标识符、表征通配符的第二标识符和表征可选参数路由的第三标识符中至少之一,从而实现各种不同的前端页面的路由配置信息的自动生成,不仅能够提高路由配置信息的生成效率,还能够降低人工成本;另外待解析文件的文件名不与任何前端框架所绑定,能够实现跨框架能力,扩展性好。
附图说明
图1是本申请实施例提供的应用系统100的网络架构示意图;
图2是本申请实施例提供的服务器400的结构示意图;
图3是本申请实施例提供的路由配置生成方法的流程示意图;
图4是本申请实施例提供的对待解析文件的文件名和遍历记录表进行解析的实现流程示意图;
图5是本申请实施例提供的对第一待解析文件的文件名和遍历记录表进行解析的实现流程示意图;
图6是本申请实施例提供的创建新文件的实现流程示意图;
图7是本申请实施例提供的文件目标结构示意图;
图8是本申请实施例提供的路由配置生成方法的另一种实现流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解, “一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本申请实施例所使用的所有的技术和科学术语与所属技术领域的技术人员通常理解的含义相同。本申请实施例中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)单页面应用(Single Page Application,SPA)是一种 Web 应用程序的架构模式,它使用 AJAX 和 HTML5 技术,在一个页面中动态加载内容,而不是每次请求都返回一个新的 HTML 页面。在 SPA 中,页面的切换和内容的更新是通过JavaScript 动态操作DOM 元素来实现的,而不是通过传统的页面跳转方式。
2)文件路由系统:通过本地硬盘上的文件夹和文件名的结构和命名规则来自动化的生成前端路由配置文件表,无需开发者手动编写路由配置信息。
3)绝对路径,以根目录为起点,到某一个文件的路径。
4)相对路径,从一个目录为起点到另外一个的目录的路径。
本申请实施例提供一种路由配置生成方法、装置、设备、计算机可读存储介质和计算机程序产品,能够路由配置效率低下的问题,下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为施为服务器。下面,将说明设备实施为服务器时示例性应用。
参见图1,图1是本申请实施例提供的应用系统100的网络架构示意图,如图1所示,该应用系统100包括:终端200、网络300和服务器400,网络300可以是广域网或者局域网,又或者是二者的组合。
终端200中安装有各种应用客户端,终端在图形界面210显示应用页面,服务器400用于存储应用页面数据,并且服务器400能够根据存储的、按照预设文件命名规则命名的页面文件自动生成路由配置信息,服务器400在获取到待解析的初始文件夹之后,遍历该初始文件夹,得到每个页面对应的至少一个待解析文件和各个待解析文件的遍历记录表,待解析文件的文件名是按照预设的文件名命名规则设置的,如此通过对每个页面对应的至少一个待解析文件的文件名和遍历记录表进行解析,就能够页面对应的页面路由名称、页面路由路径和页面文件的文件路径,也即得到了每个页面对应的路由配置信息。终端200在接收到页面跳转指令后,向服务器400发送页面跳转请求,服务器400根据生成的路由配置信息,获取到页面跳转请求对应的目标页面,并将目标页面数据返回至终端200。
在一些实施例中,服务器400可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端200可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
参见图2,图2是本申请实施例提供的服务器400的结构示意图,图2所示的服务器400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。服务器400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(Digital Signal Processor,DSP),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器 410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(Random Access Memory,RAM)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(Universal Serial Bus,USB)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器450中的路由配置生成装置455,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块4551、文件遍历模块4552、文件解析模块4553和第一确定模块4554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的路由配置生成方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、可编程逻辑器件(ProgrammableLogic Device,PLD)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或其他电子元件。
将结合本申请实施例提供的服务器的示例性应用和实施,说明本申请实施例提供的路由配置生成方法。
下面,说明本申请实施例提供的路由配置生成方法,如前所述,实现本申请实施例的路由配置生成方法的电子设备可以服务器。因此下文中不再重复说明各个步骤的执行主体。
参见图3,图3是本申请实施例提供的路由配置生成方法的流程示意图,将结合图3示出的步骤进行说明,图3步骤的主体是服务器。
在步骤101中,获取待解析的初始文件夹。
其中,初始文件夹中包括至少一个页面对应的待解析文件,待解析文件的文件名是按照预设的文件命名规则设置的,文件名命名规则至少包括:文件名中包括预设的渲染函数关键字或者包括表征获取页面数据的关键字,文件名中包括预设的渲染函数关键字,以及表征动态路由的第一标识符、表征通配符的第二标识符和表征可选参数路由的第三标识符中至少之一。每个页面对应的待解析文件至少包括用于进行页面渲染的第一待解析文件,第一待解析文件的文件名中至少包括预设的渲染函数关键字,示例性地,该渲染函数关键字可以为“render”,那么第一待解析文件的文件名可以为“render”,在一些实施例中,第一待解析文件还可以包括渲染函数关键字、表征动态路由的第一标识符,第一标识符可以用等,假设第一标识符为/>,第一待解析文件的文件名可以为/>。当页面对应的待解析文件还包括用于获取页面数据的第二待解析文件,第二待解析文件的文件名中需要包含表征获取页面数据的关键字,示例性地,获取页面数据的关键字可以为fetch,第二待解析文件的文件名可以为“fetch”。
在步骤102中,遍历初始文件夹,得到每个页面对应的至少一个待解析文件,以及初始文件夹到各个待解析文件的遍历记录表。
在一些实施例中,步骤102在实现时,通过回溯递归算法,逐层遍历所述初始文件夹包括的子文件;当所述子文件为文件夹时,将所述子文件的文件名增加至所述遍历记录表中,直至遍历到不为文件夹的子文件,将不为文件夹的子文件确定为页面对应的至少一个待解析文件,并得到待解析文件的遍历记录表。
示例性的,初始文件夹为pages文件夹,该初始文件夹中包括两个子文件,分别为detail文件夹和index文件夹,其中detail文件夹中又包括两个子文件,分别为d1文件夹和d2文件夹,d1文件夹中包括两个子文件,分别为render.vue和fetch.ts,d2文件夹中也包括两个子文件,分别为和fetch.ts。index文件夹中包括两个子文件,分别为render.vue和fetch.ts。
那么从初始文件夹pages开始,首先遍历到子文件detail,子文件detail为文件夹类型,那么将detail增加至遍历记录表中,此时遍历到子文件d1,而d1也为文件夹类型,那么也将d1增加至遍历记录表中,再遍历到子文件render.vue,由于子文件render.vue不为文件夹类型,那么将render.vue确定为页面d1对应的第一待解析文件,遍历记录表为[detail,d1],再遍历到fetch.ts,fetch.ts不为文件夹,将fetch.ts确定为页面对应的第二待解析文件,遍历记录表为[detail,d1]。然后进行回溯,将d1从遍历记录表中删除,返回至detail目录,此时遍历到子文件d2,由于d2也为文件夹类型,那么也将d2增加至遍历记录表中,再遍历到子文件,子文件/>不为文件夹类型,那么将/>确定为页面d2对应的第一待解析文件,遍历记录表为[detail,d2],依次类推,页面d2对应的第二解析文件为fetch.ts,遍历记录表为[detail,d2]。
在步骤103中,对每个页面对应的至少一个待解析文件的文件名和遍历记录表进行解析,得到每个页面对应的解析结果。
其中,解析结果至少包括页面对应的路由名称、路由路径和页面组件文件的文件路径。路由名称用于标识某一文件的路由配置,路由路径也即其他实施例中的页面链接,页面组件文件的文件路径,表示此页面所对应的前端组件文件的绝对路径。
需要说明的是,页面对应的待解析文件至少包括用于进行页面渲染的第一待解析文件,在一些实施例中,页面对应的待解析文件还可以包括用于获取页面数据的第二待解析文件。
其中,当页面对应的待解析文件仅包括所述第一待解析文件时,步骤103在实现时,对所述第一待解析文件的文件名和遍历记录表进行解析,得到所述页面对应的路由名称、路由路径和页面组件文件的文件路径,并将所述页面对应的路由名称、路由路径和页面组件文件的文件路径,确定为该页面对应的解析结果。
当页面对应的待解析文件包括用于进行页面渲染的第一待解析文件和用于获取页面数据的第二待解析文件,步骤103可以通过图4所示的步骤1031至步骤1033实现,下面结合图4具体说明。
在步骤1031中,对第一待解析文件的文件名和遍历记录表进行解析,得到页面对应的路由名称、路由路径和页面组件文件的文件路径。
在一些实施例中,步骤1031可以通过图5所示的步骤311至步骤319实现,下面结合图5具体说明。
在步骤311中,确定第一待解析文件的第一绝对路径,将第一绝对路径确定为页面组件文件的文件路径。
在一些实施例中,第一待解析文件的第一绝对路径是指从根目录到第一待解析文件的路径,可以通过获取绝对路径的系统函数获取到第一待解析文件的第一绝对路径。承接上述举例,假设第一待解析文件为d1文件夹下的render.vue,该第一解析文件的第一绝对路径为D:/pages/detail/d1/render.vue。那么页面组件文件的文件路径即为@/pages/detail/d1/render.vue。
在步骤312中,判断第一待解析文件的文件名中是否仅包括预设的渲染函数关键字。
需要说明的,本申请实施例提及的文件名是不包括文件的后缀名的,例如第一待解析文件为render.vue,该第一待解析文件的文件名为render。判断第一待解析文件的文件名中是否仅包括预设的渲染函数关键字,可以将第一待解析文件的文件名与渲染函数关键字进行匹配,得到匹配结果,基于匹配结果确定第一待解析文件的文件名中是否仅包括预设的渲染函数关键字。其中,当所述第一待解析文件的文件名中仅包括预设的渲染函数关键字时,进入步骤313;当所述第一待解析文件的文件名中不是仅包括预设的渲染函数关键字时,进入步骤316。
在步骤313中,将遍历记录表中包括的文件名利用第二连接符进行拼接,得到第一相对路径。
在一些实施例中,第二连接符可以为“/”。在将遍历记录表中包括的文件名利用第二连接符进行拼接时,是将遍历记录表中包括的各个文件名按照在遍历记录表中的顺序利用第二连接符进行拼接。示例性地,第一待解析文件为d1中的render.vue,其对应的遍历记录表为[detail,d1],第一相对路径为/detail/d1。
在步骤314中,将第一相对路径确定为路由路径。
当第一待解析文件的文件名中仅包含渲染函数关键字时,第一待解析文件的路由路径即为第一相对路径,承接上述举例,也即为/detail/d1。
在步骤315中,将遍历记录表中包括的各个文件名通过预设的第一连接符进行拼接,得到路由名称。
在一些实施例中,第一连接符可以是“-”,还可以是“—”还可以是“_”,本申请实施例对第一连接符的具体形式不进行限定。假设第一连接符为“-”承接上述举例,第一待解析文件对应的遍历记录表为[detail,d1],第一待解析文件对应的路由名称为detail-d1。
需要说明的是,当遍历记录表中仅有一个文件名时,那么将遍历记录表中的文件名确定为路由名称。
在步骤316中,当第一待解析文件的文件名中包括预设的渲染函数关键字和表征动态路由的第一标识符时,获取第一标识符对应的动态参数。
在一些实施例中,动态路由也即携带参数的路由,表征动态路由的第一标识符是预先设置好的,示例性地,第一标识符可以是,在获取第一标识符对应的动态参数时,当第一待解析文件的文件名中仅包括渲染函数关键字和一个第一标识符,那么将文件名中第一标识符之后的所有字符串确定为动态参数,示例性地,第一待解析文件的文件名为,那么动态参数为id。
当第一待解析文件的文件名中包括渲染函数关键字和两个第一标识符,第一个第一标识符对应的动态参数为第一标识符之后到下一个第一标识符之前的字符串,第二个第一标识符对应的动态参数为第二个第一标识符之后的所有字符串,示例性地,第一待解析文件的文件名,那么第一个第一标识符对应的动态参数为foo,第二个第一标识符对应的动态参数为bar。
当第一待解析文件的文件名中包括渲染函数关键字和一个第一标识符和第一第二标识符,那么将第一标识符之后到第二标识符之前的字符串确定为动态参数,示例性地,第一待解析文件的文件名为,&为第二标识符,那么第一标识符对应的动态参数为params。
在步骤317中,将遍历记录表中包括的文件名利用第二连接符进行拼接,得到第一相对路径。
需要说明的是,步骤317的实现方式与步骤313的实现方式是相同的,在实现时可参考步骤313的实现方式。
在步骤318中,基于第一相对路径和第一待解析文件的文件名,确定路由路径。
在一些实施例中,当所述第一待解析文件的文件名中包括预设的渲染函数关键字和表征动态路由的第一标识符,且不包括表征通配符的第二标识符以及表征可选参数路由的第三标识符时,将所述第一相对路径和所述动态参数通过第三连接符进行拼接,得到所述路由路径。
在一些实施例中,为了将动态参数与第一相对路径中的文件名进行可分,可以用不同于第二连接符的第三连接符将第一相对路径与动态参数进行拼接。示例性地,第二拼接符为“/”,第三拼接符可以为“/:”,承接上述举例,第一待解析文件为,遍历记录表为[detail,d2],那么第一相对路径为/detail/d2,将第一相对路径与动态参数id利用第三连接符进行拼接,得到路由路径为/detail/d2/:id。
当所述第一待解析文件的文件名中包括预设的渲染函数关键字、所述第一标识符和所述第二标识符时,将所述文件名中的渲染函数关键字删除、将所述第一标识符映射为第三连接符,将所述第二标识符映射为第二关键字,得到更新后的文件名,将所述第一相对路径和所述更新后的文件名进行拼接,得到所述路由路径。
第二关键字为预先设置好的,表征通配符的关键字,示例性地,第二关键字可以为,假设第一待解析文件的文件名为/>,将文件名中的渲染函数关键字删除、将第一标识符映射为第三连接符,将第二标识符映射为第二关键字,得到更新后的文件名/>,假设第一待解析文件的第一相对路径是/detail,将该第一相对路径和更新后的文件名进行拼接,得到路由路径为/>
当所述第一待解析文件的文件名中包括预设的渲染函数关键字、所述第一标识符和所述第三标识符时,将所述文件名中的渲染函数关键字删除、将所述第一标识符映射为第三连接符,将所述第三标识符映射为第三关键字,得到更新后的文件名,将所述第一相对路径和所述更新后的文件名进行拼接,得到所述路由路径。
第三标识符是预先设置好的,表征可选参数的标识符,示例性地,第三标识符可以是“#”,第三标识符一般在动态参数之后,表征请求连接中可能携带该动态参数,也可能不携带该动态参数。示例性地,第一待解析文件的文件名为,第三关键字为预先设置好的,表征可选参数的关键字,示例性地,第三关键字可以为“?”,将文件名中的渲染函数关键字删除、将第一标识符映射为第三连接符,将第三标识符映射为第三关键字,得到更新后的文件名/:id?,假设第一待解析文件的第一相对路径为/index,将第一相对路径和更新后的文件名进行拼接,得到路由路径/index/:id?。/>
在步骤319中,基于遍历记录表和第一待解析文件的文件名,确定路由名称。
当第一待解析文件的文件名中包括预设的渲染函数关键字和表征动态路由的第一标识符时,且不包括表征通配符的第二标识符以及表征可选参数路由的第三标识符时,将遍历记录表中包括的各个文件名,以及动态参数通过预设的第一连接符进行拼接,得到所述路由名称。
在一些实施例中,以第一待解析文件的文件名为,遍历记录表为[detail,d2]为例,动态参数为id,那么,路由名称detail-d2-id。
当所述第一待解析文件的文件名中包括预设的渲染函数关键字、所述第一标识符和所述第二标识符时,将所述遍历记录表中包括的各个文件名,以及所述动态参数和表征通配符的第一预设字符串通过预设的第一连接符进行拼接,得到所述路由名称。
示例性地,表征通配符的第一预设字符串为“-all”,第一待解析文件的文件名为,动态参数为id,遍历记录表为[detail,d3],将遍历记录表中包括的各个文件名,以及动态参数和表征通配符的第一预设字符串通过预设的第一连接符进行拼接,假设第一连接符为“-”,那么路由名称为detail-d3-id--all。
当所述第一待解析文件的文件名中包括预设的渲染函数关键字、所述第一标识符和所述第三标识符时,将所述遍历记录表中包括的各个文件名,以及所述动态参数和表征可选参数路由的第二预设字符串通过预设的第一连接符进行拼接,得到所述路由名称。
示例性地,表征可选参数路由的第二预设字符串为“-optional”,第一待解析文件的文件名为,动态参数即为params,遍历记录表为[detail],将遍历记录表中包括的各个文件名,以及动态参数和表征可选参数路由的第二预设字符串通过预设的第一连接符进行拼接,得到路由名称为detail-params--optional。
在上述步骤311至步骤319中,首先将第一待解析文件的第一绝对路径确定为页面组件文件的文件路径,而在确定路由路径和路由名称时,针对第一待解析文件的文件名的不同,生成不同的路由路径和路由名称,其中当第一待解析文件的文件名中仅包括渲染函数关键字时,说明该第一待解析文件对应的是普通路由,那么将第一待解析文件的相对路径确定为路由路径,并基于遍历记录表中的各个文件名即可生成路由名称,而当第一待解析文件的文件名中包括渲染函数关键字以及表征动态路由的第一标识符时,又分别根据第一待解析文件的文件名中是否还包括第二标识符以及第三标识符按照不同的方式确定出路由路径和路由名称,从而实现各类路由配置信息的自动化生成,保证生成的路由配置信息的准确性。
在步骤1032中,获取第二待解析文件的第二绝对路径,将第二绝对路径确定为页面对应的页面数据来源信息。
在一些实施例中,可以通过绝对路径获取函数获取第二待解析文件的第二绝对路径,并将第二绝对路径确定为页面对应的页面数据来源信息。
在步骤1033中,将页面对应的路由名称、路由路径、页面组件文件的文件路径和页面数据来源信息确定为该页面对应的解析结果。
通过上述步骤1031至步骤1033,可以通过对用于进行渲染显示的第一待解析文件的文件名和遍历记录表进行解析,得到页面对应的路由名称、路由路径和页面组件文件的文件路径,并获取第二待解析文件的第二绝对路径,得到页面对应的页面数据来源信息,从而得到包括路由名称、路由路径、页面组件文件的文件路径和页面数据来源信息的解析结果,为确定路由配置信息提供必要的数据基础。
下面参见图3,接续步骤103继续进行说明。
在步骤104中,将每个页面对应的解析结果确定为每个页面的路由配置信息。
由于页面对应的解析结果可以是包括路由名称、路由路径、页面组件文件的文件路径,在一些实施例中,页面对应的解析结果还可以包括页面数据来源信息,因此页面的路由配置信息至少包括路由名称、路由路径、页面组件文件的文件路径,当解析结果还包括页面数据来源信息时,那么页面的路由配置信息包括路由名称、路由路径、页面组件文件的文件路径和页面数据来源信息。
在本申请实施例提供的路由配置生成方法中,首先遍历待解析的初始文件夹,得到每个页面对应的至少一个待解析文件,其中,待解析文件的文件名是满足预设的文件命名规则的,并且待解析文件的文件名不与任何前端框架所绑定,能够实现跨框架能力,并且能够直接通过第一待解析文件的文件名以及遍历记录表直接生成页面对应的页面路由名称、页面路由路径和页面文件的文件路径,如此也就得到了每个页面的路由配置信息,实现了路由配置信息的自动化生成,并且针对普通路由、动态路由、可选参数路由按照不同的方式生成路由路径和页面名称,不仅能够提高路由配置信息的生成效率以及路由配置信息的可读性,还能够减少代码开发量,从而降低人工成本,另外跨框架的设计使得本申请实施例提供的路由配置信息生成方法可以兼容各种不同的前端框架场景,无需重复开发,兼容性好。
在一些实施例中,还可以通过图6所示的步骤201至步骤209创建新文件并确定文件名,下面结合图6进行说明。
在步骤201中,接收文件创建请求,响应于文件创建请求,创建新文件。
在一些实施例中,在创建出新文件后,新文件的文件名为默认命名,示例性地,默认命名可以为newfile。
在步骤202中,响应于接收到的文件名修改指令,呈现文件名设置提示界面,在文件名设置提示界面中呈现文件名命名规则。
在一些实施例中,文件名命名规则至少包括:文件名中包括预设的渲染函数关键字或表征获取页面数据的关键字,文件名中包括预设的渲染函数关键字,以及预设的第一标识符、第二标识符和第三标识符中至少之一。
在接收到文件名修改指令后,呈现文件名命名规则,能够提示用户根据文件命名规则,进行正确命名,从而保证能够自动生成新文件对应的路由配置信息。
在步骤203中,响应于接收到的文件名输入操作,获取新文件的修改后的文件名。
在一些实施例中,文件名的输入操作可以是通过键盘或者触控屏幕触发的,还可以是语音输入操作。在接收到文件名输入操作后,获取新文件修改后的文件名。
在步骤204中,判断修改后的文件名是否符合文件名命名规则。
其中,当修改后的文件名符合文件名命名规则时,进入步骤205,当修改后的文件名不符合文件名命名规则时,进入步骤207。
在步骤205中,将修改后的文件名确定为新文件的文件名。
当修改后的文件名符合文件命名规则时,说明可以利用修改后的文件名自动生成新文件的路由配置信息,此时将修改后的文件名确定为新文件的文件名。
在步骤206中,基于新文件的文件名,确定新文件对应的路由配置信息。
在一些实施例中,当新文件为用于进行渲染的文件,将新文件确定为第一待解析文件,并通过步骤102至步骤104确定为该文件对应的路由配置信息。
在步骤207中,输出修改后的文件名不符合文件名命名规则的提示信息以及是否使用修改后的文件名的选择信息。
在一些实施例中,输出是否使用修改后的文件名的选择信息可以输出“是”、“否”两个选择控件,从而通过这两个选择控件接收选择指令。
在步骤208中,判断是否接收到确定使用修改后的文件名的第一选择指令。
其中,当接收到针对“是”的选择控件,确定使用修改后的文件名的第一选择指令,此时进入步骤209,当接收到针对“否”控件的选择控件,确定没有接收到确定使用修改后的文件名的第一选择指令,也即接收到不使用修改后的文件名的第二选择指令,此时进入步骤210。
在步骤209中,将修改后的文件名确定为新文件的文件名。
在一些实施例中,由于修改后的文件名不是按照文件名命名规则命名的,因此在将修改后的文件名确定为新文件的文件名后,不能自动生成该新文件的路由配置信息。
在步骤210中,删除修改后的文件名,并进入步骤203。
在一些实施例中,当没有接收到确定使用修改后的文件名的第一选择指令,说明不将修改后的文件名作为新文件的文件名,此时删除修改后的文件名,将新文件的文件名恢复为默认新文件名,然后再转入203,直至确定修改后的文件名满足文件命名规则。
通过上述步骤201至步骤209,在创建新文件之后,可以将新文件以默认命名,当接收到文件名修改指令时,呈现文件名设置提示界面,在文件名设置提示界面中呈现文件名命名规则,以引导用户按照文件名命名规则为新文件进行命名,如此能够利用新文件能够自动生成路由配置信息,当需要在框架层面新增任意功能页面时,无需修改具体的业务代码即可实现,将逻辑屏蔽在底层开发者无需关心细节即可使用,提高了系统的可扩展性。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
在本申请实施例提供的路由配置方法中,设置文件路由系统的文件命名规范,使得按照这份文件命名规范实现的库可以实现跨框架能力,不与任何前端框架所绑定,因此本申请实施例提供的路由配置生成方法能够应用于各种前端框架中,兼容性好,并且使用文件路由系统来自动化的生成前端路由配置文件表,减少了开发者手动编写的代码量,提升了应用的可读性和可维护性。
在明确应该通过什么样的文件命名规范自动生成路由配置信息之前,我们首先确定要生成的路由配置信息中所包括的字段。需要说明的是,生成的路由配置信息必须是能够跨框架的,也就是路由配置信息的字段与写法不能够与任何前端框架强绑定。
在本申请实施例中,路由配置信息可以包括以下几个必须要具备的属性字段:
页面链接(path),每一个页面都有属于自己的独一无二的链接,示例性地,页面链接可以为/detail/:id;
页面文件(comppnent),此页面所对应的前端组件文件的文件路径,需要包含render关键字(对应其他实施例中的渲染函数关键字),示例性地,前端组件文件的文件路径可以为
页面名称(name),每一个页面都有属于自己的独一无二的名称,示例性地,页面名称可以为detail-id。
页面数据来源(可选),对大部分页面来说都需要从某个来源来获取数据,示例性地,数据来源信息可以为
上述路由配置信息不绑定前端框架,无论前端框架是Vue还是React都能够成功读取、使用这一套路由配置信息。
定义出上述的路由配置信息应该具有的字段以后,再定义一个文件目录结构使得文件目录结构可以与上述的路由配置信息所对应。图7是本申请实施例提供的文件目标结构示意图,如图7所示,假设有一个pages文件夹,下面存放着所有的前端页面。假设有index,detail两个页面。其中index文件夹代表首页,detail文件夹代表详情页面。当依次深度遍历解析文件夹时,第一步,解析到 detail文件夹,那么把detail文件夹当作详情页处理,detail页面的页面名称(name)属性就是detail文件夹的名称,也即detail,detail页面的页面组件(component)属性为文件,也即文件名称中包含render关键字的文件代表页面文件,页面数据来源属性为detail/fetch.ts,页面链接(path)属性为/detail/:id。
同理,index首页文件的路由配置信息中的属性分别是:
页面名称:index,即文件夹名称
页面组件:index/render 文件,在上面定义的名称中包含render关键字的文件代表页面文件;
页面数据来源:index/fetch.ts
页面路径:/index。
在上面的示例中,解析了最简单的页面路由规则。但在实际的业务开发中,可能会出现各种各样的页面路由,例如:
动态路由:动态路由即携带参数的路由,例如/user/:id这种,是携带有id 参数的动态路由。这里定义为动态路由标识符。在本申请实施例中,将/>映射为/user/:id。将/>多参数的情况映射为/user/:foo/:bar。
多级路由:即页面path含有多个前缀的路由,这里定义文件夹嵌套的形式来表示多级路由,将映射为/user/detail/:id,将映射为/user/detail/:foo/:bar。
通配符路由:用来匹配所有符合要求的文件,这里以&符号作为通配符标识符,将映射为/>,本质上对应所有来自 />的请求。
可选参数路由:路由参数为可选模式,即请求链接可能携带也可能不携带,这里以#号作为标识符,示例性地,映射为/index/:id?。
在本申请实施例中,因为需要递归遍历当前目录所有的文件夹,所以这里定义了一个pathRecord用来记录回溯遍历过程中的解析路径(对应其他实施例中的遍历记录表)。
接着就是遍历一个文件夹下面的所有文件,因为需要考虑文件夹嵌套文件夹的情况,如果检测到该文件的类型是文件夹,则递归的调用解析方法,将解析到的文件夹作为参数,继续调用解析方法,同时记录解析路径。
例如解析到 /detail/artical 文件夹时,artical文件夹是位于detail文件夹里面的。所以此时再将artical文件夹作为参数去递归解析它下面的所有文件。同时记录的此时经过的解析路径是[‘detail’, ‘artical’]。于是这时候artical文件夹下面被解析到的文件的路径前缀为/detail/artical。
例如/detail/artical/render.vue 将对应的页面链接(path)为/detail/artical。页面名称为detail-article。
图8是本申请实施例提供的路由配置生成方法的另一种实现流程示意图,下面结合图8进行说明。
在步骤301中,解析文件夹。
在一些实施例中,遍历初始文件夹下的所有文件,如果该文件是普通文件,也即不是按照本申请实施例提供的文件名命名规则命名的文件,那么跳过该文件继续往下解析。
在步骤302中,如果遍历到的文件是文件夹,记录解析路径,并继续递归解析。
在步骤303中,如果遍历到的文件是文件,获取文件类型。
其中,如果文件类型为fetch类型,执行步骤304,如果文件类型为页面渲染类型,执行步骤305。
在步骤304中,获取页面数据来源。
在一些实施例中,可以获取fetch类型文件的绝对路径,并将该绝对路径确定为页面数据来源。
在步骤305中,根据不同的标识符生成不同的页面配置信息。
在一些实施例中,如果根据文件的文件名确定该页面为普通页面,也即文件名中包括“render”,而不包括动态参数标识符、通配符标识符(&)和可选参数标识符(#)时,基于该文件的pathRecord,生成该文件的解析路径,将该文件的解析路径确定为页面链接(path),示例性地,当pathRecord为[‘detail’, ‘artical’],该文件的解析路径可以是利用“/”将pathRecord中的文件名连接,得到/detail/article;将该文件的绝对路径确定为页面组件(component),基于该文件的pathRecord,生成页面名称。页面名称可以是利用“-”将pathRecord中的文件名进行连接得到的,也即为detail-article。
根据文件的文件名确定该页面为动态路由页面,也即文件名中包括而不包括通配符标识符(&)和可选参数标识符(#)时,获取动态参数,并根据该文件的pathRecord,生成该文件的解析路径,然后将解析路径和动态参数通过“/:”拼接得到页面链接,将该文件的绝对路径确定为页面组件(component)。利用“-”将pathRecord中的文件名以及动态参数连接,得到页面名称。当文件名中包括/>以及通配标识符&时,在页面链接中将&映射为/>,在页面名称中将&映射为“-all”,当文件名中包括包括以及可选参数标识符#时,在页面链接中将#映射为?,在页面名称中将#映射为“-optional”。
在步骤306中,将所有的字段组合成完整的页面路由配置信息。
也即页面路由配置信息中包括页面名称、页面链接、页面组件和页面数据来源。
在本申请实施例提供的路由配置生成方法中,无需开发者手动编写路由配置,使用文件系统来自动化的生成路由配置,提升了可读性,减少了代码开发量,另外跨框架的设计使得这本申请实施例提供的路由配置生成方法可以兼容各种不同的前端框架场景,无需重复开发。并且需要在框架层面新增任意功能时,无需修改具体的业务代码即可实现,将逻辑屏蔽在底层开发者无需关心细节即可使用,扩展性好。
可以理解的是,在本申请实施例中,涉及到用户信息、第一待解析文件等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的路由配置生成装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的路由配置生成装置455中的软件模块可以包括:
第一获取模块,用于获取待解析的初始文件夹,所述初始文件夹中包括至少一个页面对应的待解析文件,所述待解析文件的文件名是按照预设的格式设置的;
文件遍历模块,用于遍历所述初始文件夹,得到每个页面对应的至少一个待解析文件,以及所述初始文件夹到各个待解析文件的遍历记录表;
文件解析模块,用于对所述每个页面对应的至少一个待解析文件的文件名和遍历记录表进行解析,得到所述每个页面对应的解析结果,所述解析结果至少包括页面对应的路由名称、路由路径和页面组件文件的文件路径;
第一确定模块,用于将所述每个页面对应的解析结果确定为所述每个页面的路由配置信息。
在一些实施例中,文件遍历模块,还用于:
通过回溯递归算法,逐层遍历所述初始文件夹包括的子文件;
当所述子文件为文件夹时,将所述子文件的文件名增加至所述遍历记录表中,直至遍历到不为文件夹的子文件,将不为文件夹的子文件确定为页面对应的至少一个待解析文件,并得到待解析文件的遍历记录表。
在一些实施例中,页面对应的待解析文件至少包括用于进行页面渲染的第一待解析文件,文件解析模块,还用于:
对所述第一待解析文件的文件名和遍历记录表进行解析,得到所述页面对应的路由名称、路由路径和页面组件文件的文件路径;
将所述页面对应的路由名称、路由路径和页面组件文件的文件路径,确定为所述页面对应的解析结果。
在一些实施例中,当页面对应的待解析文件包括用于进行页面渲染的第一待解析文件和用于获取页面数据的第二待解析文件,文件解析模块,还用于:
对所述第一待解析文件的文件名和遍历记录表进行解析,得到所述页面对应的路由名称、路由路径和页面组件文件的文件路径;
获取所述第二待解析文件的第二绝对路径,将所述第二绝对路径确定为所述页面对应的页面数据来源信息;
将所述页面对应的路由名称、路由路径、页面组件文件的文件路径和页面数据来源信息确定为所述页面对应的解析结果。
在一些实施例中,文件解析模块还用于:
确定所述第一待解析文件的第一绝对路径,将所述第一绝对路径确定为页面组件文件的文件路径;
当所述第一待解析文件的文件名中仅包括预设的渲染函数关键字时,将所述遍历记录表中包括的文件名利用第二连接符进行拼接,得到第一相对路径;
将所述第一相对路径确定为所述路由路径;
将所述遍历记录表中包括的各个文件名通过预设的第一连接符进行拼接,得到所述路由名称。
在一些实施例中,文件解析模块还用于:
确定所述第一待解析文件的第一绝对路径,将所述第一绝对路径确定为所述页面组件文件的文件路径;
当所述第一待解析文件的文件名中包括预设的渲染函数关键字和表征动态路由的第一标识符时,且不包括表征通配符的第二标识符以及表征可选参数路由的第三标识符时,获取所述第一标识符对应的动态参数;
将所述遍历记录表中包括的文件名利用第二连接符进行拼接,得到第一相对路径;
基于所述第一相对路径和所述第一待解析文件的文件名,确定所述路由路径;
基于所述遍历记录表和所述第一待解析文件的文件名,确定路由名称。
在一些实施例中,文件解析模块还用于:
当所述第一待解析文件的文件名中包括预设的渲染函数关键字和表征动态路由的第一标识符时,且不包括表征通配符的第二标识符以及表征可选参数路由的第三标识符时,将所述第一相对路径和所述动态参数通过第三连接符进行拼接,得到所述路由路径;
当所述第一待解析文件的文件名中包括预设的渲染函数关键字、所述第一标识符和所述第二标识符时,将所述文件名中的渲染函数关键字删除、将所述第一标识符映射为第三连接符,将所述第二标识符映射为第二关键字,得到更新后的文件名,将所述第一相对路径和所述更新后的文件名进行拼接,得到所述路由路径;
当所述第一待解析文件的文件名中包括预设的渲染函数关键字、所述第一标识符、所述第二标识符和所述第三标识符时,将所述文件名中的渲染函数关键字删除、将所述第一标识符映射为第三连接符,将所述第二标识符映射为第二关键字,将所述第三标识符映射为第三关键字,得到更新后的文件名,将所述第一相对路径和所述更新后的文件名进行拼接,得到所述路由路径。
在一些实施例中,文件解析模块还用于:
当所述第一待解析文件的文件名中包括预设的渲染函数关键字和表征动态路由的第一标识符时,且不包括表征通配符的第二标识符以及表征可选参数路由的第三标识符时,将所述遍历记录表中包括的各个文件名,以及所述动态参数通过预设的第一连接符进行拼接,得到所述路由名称;
当所述第一待解析文件的文件名中包括预设的渲染函数关键字、所述第一标识符和所述第二标识符时,将所述遍历记录表中包括的各个文件名,以及所述动态参数和表征通配符的第一预设字符串通过预设的第一连接符进行拼接,得到所述路由名称;
当所述第一待解析文件的文件名中包括预设的渲染函数关键字、所述第一标识符、所述第二标识符和所述第三标识符时,将所述遍历记录表中包括的各个文件名,以及所述动态参数和表征可选参数路由的第二预设字符串通过预设的第一连接符进行拼接,得到所述路由名称。
在一些实施例中,该装置还包括:
文件创建模块,用于接收文件创建请求,响应于所述文件创建请求,创建新文件,所述新文件的文件名为默认命名;
界面呈现模块,用于响应于接收到的文件名修改指令,呈现文件名设置提示界面,在所述文件名设置提示界面中呈现文件名命名规则,所述文件名命名规则至少包括:文件名中包括预设的渲染函数关键字或表征获取页面数据的关键字,文件名中包括预设的渲染函数关键字,以及预设的第一标识符、第二标识符和第三标识符中至少之一;
第二获取模块,用于响应于接收到的文件名输入操作,获取所述新文件的修改后的文件名;
第二确定模块,用于当所述修改后的文件名符合所述文件名命名规则时,将所述修改后的文件名确定为所述新文件的文件名;
第三确定模块,用于确定所述新文件的路由配置信息。
在一些实施例中,该装置还包括:
信息输出模块,用于当所述修改后的文件名不符合所述文件名命名规则时,输出修改后的文件名不符合文件名命名规则的提示信息以及是否使用修改后的文件名的选择信息;
第四确定模块,用于当接收到确定使用修改后的文件名的第一选择指令时,将所述修改后的文件名确定为所述新文件的文件名;
文件名删除模块,用于当接收到不使用修改后的文件名的第二选择指令时,删除所述修改后的文件名。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例上述的路由配置生成方法。
本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令或者计算机程序,当计算机可执行指令或者计算机程序被处理器执行时,将引起处理器执行本申请实施例提供的路由配置生成方法,例如,如图3示出的路由配置生成方法。
在一些实施例中,计算机可读存储介质可以是RAM、ROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(Hyper TextMarkup Language,HTML)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,计算机可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (14)

1.一种路由配置生成方法,其特征在于,所述方法包括:
获取待解析的初始文件夹,所述初始文件夹中包括至少一个页面对应的待解析文件,所述待解析文件的文件名是按照预设的文件名命名规则设置的,所述文件名命名规则至少包括:文件名中包括预设的渲染函数关键字或者包括表征获取页面数据的关键字,文件名中包括预设的渲染函数关键字,以及表征动态路由的第一标识符、表征通配符的第二标识符和表征可选参数路由的第三标识符中至少之一;
遍历所述初始文件夹,得到每个页面对应的至少一个待解析文件,以及所述初始文件夹到各个待解析文件的遍历记录表;
对所述每个页面对应的至少一个待解析文件的文件名和遍历记录表进行解析,得到所述每个页面对应的解析结果,所述解析结果至少包括页面对应的路由名称、路由路径和页面组件文件的文件路径;
将所述每个页面对应的解析结果确定为所述每个页面的路由配置信息。
2.根据权利要求1中所述的方法,其特征在于,所述遍历所述初始文件夹,得到每个页面对应的至少一个待解析文件,以及所述初始文件夹到各个待解析文件的遍历记录表,包括:
通过回溯递归算法,逐层遍历所述初始文件夹包括的子文件;
当所述子文件为文件夹时,将所述子文件的文件名增加至所述遍历记录表中,直至遍历到不为文件夹的子文件,将不为文件夹的子文件确定为页面对应的至少一个待解析文件,并得到待解析文件的遍历记录表。
3.根据权利要求1中所述的方法,其特征在于,页面对应的待解析文件至少包括用于进行页面渲染的第一待解析文件,
当页面对应的待解析文件仅包括所述第一待解析文件时,对所述每个页面对应的至少一个待解析文件的文件名和遍历记录表进行解析,得到所述每个页面对应的解析结果,包括:
对所述第一待解析文件的文件名和遍历记录表进行解析,得到所述页面对应的路由名称、路由路径和页面组件文件的文件路径;
将所述页面对应的路由名称、路由路径和页面组件文件的文件路径,确定为所述页面对应的解析结果。
4.根据权利要求1中所述的方法,其特征在于,当页面对应的待解析文件包括用于进行页面渲染的第一待解析文件和用于获取页面数据的第二待解析文件,对所述每个页面对应的至少一个待解析文件的文件名和遍历记录表进行解析,得到所述每个页面对应的解析结果,包括:
对所述第一待解析文件的文件名和遍历记录表进行解析,得到所述页面对应的路由名称、路由路径和页面组件文件的文件路径;
获取所述第二待解析文件的第二绝对路径,将所述第二绝对路径确定为所述页面对应的页面数据来源信息;
将所述页面对应的路由名称、路由路径、页面组件文件的文件路径和页面数据来源信息,确定为所述页面对应的解析结果。
5.根据权利要求3或4中所述的方法,其特征在于,所述对所述第一待解析文件的文件名和遍历记录表进行解析,得到所述页面对应的路由名称、路由路径和页面组件文件的文件路径,包括:
确定所述第一待解析文件的第一绝对路径,将所述第一绝对路径确定为页面组件文件的文件路径;
当所述第一待解析文件的文件名中仅包括预设的渲染函数关键字时,将所述遍历记录表中包括的文件名利用第二连接符进行拼接,得到第一相对路径;
将所述第一相对路径确定为所述路由路径;
将所述遍历记录表中包括的各个文件名通过预设的第一连接符进行拼接,得到所述路由名称。
6.根据权利要求3或4所述的方法,其特征在于,所述对所述第一待解析文件的文件名和遍历记录表进行解析,得到所述页面对应的路由名称、路由路径和页面组件文件的文件路径,包括:
确定所述第一待解析文件的第一绝对路径,将所述第一绝对路径确定为所述页面组件文件的文件路径;
当所述第一待解析文件的文件名中包括预设的渲染函数关键字和表征动态路由的第一标识符时,获取所述第一标识符对应的动态参数;
将所述遍历记录表中包括的文件名利用第二连接符进行拼接,得到第一相对路径;
基于所述第一相对路径和所述第一待解析文件的文件名,确定所述路由路径;
基于所述遍历记录表和所述第一待解析文件的文件名,确定路由名称。
7.根据权利要求6中所述的方法,其特征在于,所述基于所述第一相对路径和所述第一待解析文件的文件名,确定所述路由路径,包括:
当所述第一待解析文件的文件名中包括预设的渲染函数关键字和表征动态路由的第一标识符时,且不包括表征通配符的第二标识符以及表征可选参数路由的第三标识符时,将所述第一相对路径和所述动态参数通过第三连接符进行拼接,得到所述路由路径;
当所述第一待解析文件的文件名中包括预设的渲染函数关键字、所述第一标识符和所述第二标识符时,将所述文件名中的渲染函数关键字删除、将所述第一标识符映射为第三连接符,将所述第二标识符映射为第二关键字,得到更新后的文件名,将所述第一相对路径和所述更新后的文件名进行拼接,得到所述路由路径;
当所述第一待解析文件的文件名中包括预设的渲染函数关键字、所述第一标识符、所述第二标识符和所述第三标识符时,将所述文件名中的渲染函数关键字删除、将所述第一标识符映射为第三连接符,将所述第二标识符映射为第二关键字,将所述第三标识符映射为第三关键字,得到更新后的文件名,将所述第一相对路径和所述更新后的文件名进行拼接,得到所述路由路径。
8.根据权利要求6中所述的方法,其特征在于,所述基于所述遍历记录表和所述第一待解析文件的文件名,确定路由名称,包括:
当所述第一待解析文件的文件名中包括预设的渲染函数关键字和表征动态路由的第一标识符时,且不包括表征通配符的第二标识符以及表征可选参数路由的第三标识符时,将所述遍历记录表中包括的各个文件名,以及所述动态参数通过预设的第一连接符进行拼接,得到所述路由名称;
当所述第一待解析文件的文件名中包括预设的渲染函数关键字、所述第一标识符和所述第二标识符时,将所述遍历记录表中包括的各个文件名,以及所述动态参数和表征通配符的第一预设字符串通过预设的第一连接符进行拼接,得到所述路由名称;
当所述第一待解析文件的文件名中包括预设的渲染函数关键字、所述第一标识符、所述第二标识符和所述第三标识符时,将所述遍历记录表中包括的各个文件名,以及所述动态参数和表征可选参数路由的第二预设字符串通过预设的第一连接符进行拼接,得到所述路由名称。
9.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
接收文件创建请求,响应于所述文件创建请求,创建新文件,所述新文件的文件名为默认命名;
响应于接收到的文件名修改指令,呈现文件名设置提示界面,在所述文件名设置提示界面中呈现文件名命名规则,所述文件名命名规则至少包括:文件名中包括预设的渲染函数关键字或者包括表征获取页面数据的关键字,文件名中包括预设的渲染函数关键字,以及表征动态路由的第一标识符、表征通配符的第二标识符和表征可选参数路由的第三标识符中至少之一;
响应于接收到的文件名输入操作,获取所述新文件的修改后的文件名;
当所述修改后的文件名符合所述文件名命名规则时,将所述修改后的文件名确定为所述新文件的文件名;
基于所述新文件的文件名,生成所述新文件的路由配置信息。
10.根据权利要求9中所述的方法,其特征在于,所述方法还包括:
当所述修改后的文件名不符合所述文件名命名规则时,输出修改后的文件名不符合文件名命名规则的提示信息以及是否使用修改后的文件名的选择信息;
当接收到确定使用修改后的文件名的第一选择指令时,将所述修改后的文件名确定为所述新文件的文件名;
当接收到不使用修改后的文件名的第二选择指令时,删除所述修改后的文件名。
11.一种路由配置装置,其特征在于,所述装置包括:
第一获取模块,用于获取待解析的初始文件夹,所述初始文件夹中包括至少一个页面对应的待解析文件,所述待解析文件的文件名是按照预设的文件名命名规则设置的,所述文件名命名规则至少包括:文件名中包括预设的渲染函数关键字或者包括表征获取页面数据的关键字,文件名中包括预设的渲染函数关键字,以及表征动态路由的第一标识符、表征通配符的第二标识符和表征可选参数路由的第三标识符中至少之一;
文件遍历模块,用于遍历所述初始文件夹,得到每个页面对应的至少一个待解析文件,以及所述初始文件夹到各个待解析文件的遍历记录表;
文件解析模块,用于对所述每个页面对应的至少一个待解析文件的文件名和遍历记录表进行解析,得到所述每个页面对应的解析结果,所述解析结果至少包括页面对应的路由名称、路由路径和页面组件文件的文件路径;
第一确定模块,用于将所述每个页面对应的解析结果确定为所述每个页面的路由配置信息。
12.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现权利要求1至10任一项所述的方法。
13.一种计算机可读存储介质,存储有计算机可执行指令或者计算机程序,其特征在于,所述计算机可执行指令或者计算机程序被处理器执行时实现权利要求1至10任一项所述的方法。
14.一种计算机程序产品,包括计算机可执行指令或计算机程序,其特征在于,所述计算机可执行指令或计算机程序被处理器执行时实现权利要求1至10任一项所述的方法。
CN202311383400.0A 2023-10-24 2023-10-24 路由配置生成方法、装置、设备及计算机可读存储介质 Active CN117112021B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311383400.0A CN117112021B (zh) 2023-10-24 2023-10-24 路由配置生成方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311383400.0A CN117112021B (zh) 2023-10-24 2023-10-24 路由配置生成方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN117112021A true CN117112021A (zh) 2023-11-24
CN117112021B CN117112021B (zh) 2024-01-26

Family

ID=88796969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311383400.0A Active CN117112021B (zh) 2023-10-24 2023-10-24 路由配置生成方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN117112021B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457853B1 (en) * 2003-07-03 2008-11-25 Cisco Technology, Inc. Method and apparatus for automatically configuring a network device
CN108390773A (zh) * 2018-02-02 2018-08-10 上海汉得信息技术股份有限公司 一种用于脚手架的动态路由的方法及设备
CN110502232A (zh) * 2018-05-16 2019-11-26 杭州海康威视系统技术有限公司 页面应用的路由地址配置方法及配置装置
US20200304366A1 (en) * 2017-02-16 2020-09-24 Ping An Technology (Shenzhen) Co., Ltd. Routing configuration method of view files, storage medium, terminal device and apparatus
CN111880859A (zh) * 2020-07-24 2020-11-03 随身云(南京)信息技术有限公司 自动生成路由文件的插件及其方法
CN113568605A (zh) * 2021-07-02 2021-10-29 上海淇玥信息技术有限公司 约定式路由配置方法、装置、和系统
CN113645138A (zh) * 2021-08-09 2021-11-12 杭州安恒信息技术股份有限公司 一种路由配置生成方法、装置、电子设备及存储介质
WO2022033055A1 (zh) * 2020-08-12 2022-02-17 深圳前海微众银行股份有限公司 页面渲染方法、装置、设备及计算机可读存储介质
CN116192718A (zh) * 2021-11-29 2023-05-30 美的集团股份有限公司 vue路由的配置方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457853B1 (en) * 2003-07-03 2008-11-25 Cisco Technology, Inc. Method and apparatus for automatically configuring a network device
US20200304366A1 (en) * 2017-02-16 2020-09-24 Ping An Technology (Shenzhen) Co., Ltd. Routing configuration method of view files, storage medium, terminal device and apparatus
CN108390773A (zh) * 2018-02-02 2018-08-10 上海汉得信息技术股份有限公司 一种用于脚手架的动态路由的方法及设备
CN110502232A (zh) * 2018-05-16 2019-11-26 杭州海康威视系统技术有限公司 页面应用的路由地址配置方法及配置装置
CN111880859A (zh) * 2020-07-24 2020-11-03 随身云(南京)信息技术有限公司 自动生成路由文件的插件及其方法
WO2022033055A1 (zh) * 2020-08-12 2022-02-17 深圳前海微众银行股份有限公司 页面渲染方法、装置、设备及计算机可读存储介质
CN113568605A (zh) * 2021-07-02 2021-10-29 上海淇玥信息技术有限公司 约定式路由配置方法、装置、和系统
CN113645138A (zh) * 2021-08-09 2021-11-12 杭州安恒信息技术股份有限公司 一种路由配置生成方法、装置、电子设备及存储介质
CN116192718A (zh) * 2021-11-29 2023-05-30 美的集团股份有限公司 vue路由的配置方法及装置

Also Published As

Publication number Publication date
CN117112021B (zh) 2024-01-26

Similar Documents

Publication Publication Date Title
CN106980504B (zh) 一种应用程序开发方法及其工具、设备
US10534830B2 (en) Dynamically updating a running page
CN110968325A (zh) 一种小程序转换方法及装置
CN110941779B (zh) 加载页面的方法、装置、存储介质及电子设备
CN112560100A (zh) 数据脱敏方法及装置、计算机可读存储介质、电子设备
US10599755B2 (en) System and method for automatically inserting correct escaping functions for field references in a multi-tenant computing environment
CN115599386A (zh) 代码生成方法、装置、设备及存储介质
CN108694172B (zh) 信息输出方法和装置
CN108664505B (zh) 一种数据库表结构的导出方法及装置
CN117112021B (zh) 路由配置生成方法、装置、设备及计算机可读存储介质
CN117008920A (zh) 引擎系统、请求处理方法、装置、计算机设备及存储介质
US11977473B2 (en) Providing a pseudo language for manipulating complex variables of an orchestration flow
CN112528193A (zh) 页面文案处理方法、页面文案管理方法、装置、终端设备、计算机设备及服务器
CN116028062A (zh) 目标代码的生成方法、npu指令的显示方法及装置
CN109101429A (zh) 一种机顶盒的浏览器页面调试的方法及装置
CN103778181A (zh) 浏览器收藏夹中图标的导入方法及装置
CN114625372A (zh) 组件自动编译方法、装置、计算机设备及存储介质
CN116755684B (zh) OAS Schema的生成方法、装置、设备及介质
CN110716746B (zh) 将rn样式代码转换为小程序样式代码的方法及装置
CN117971308A (zh) 接口文档生成方法、装置、存储介质及计算机设备
CN117785156A (zh) 一种单文件优化方法、装置、电子设备及存储介质
CN116483324A (zh) 低代码平台多端并行开发方法、装置、设备、介质及产品
CN115291851A (zh) 一种软件开发包代码生成方法、装置、设备及存储介质
CN117472381A (zh) 应用的代码处理方法、装置、设备及存储介质
CN114416035A (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
GR01 Patent grant