一种路由生成方法、装置、计算机设备及存储介质与流程

未命名 08-17 阅读:139 评论:0


1.本技术涉及软件开发技术领域,尤其涉及一种路由生成方法、装置、计算机设备及存储介质。


背景技术:

2.在现有的系统中,通常存在大量的页面和组件。
3.为了实现页面之间的跳转、导航和深度链接等功能,需要手动配置路由来定义url与页面之间的映射关系。
4.然而,申请人发现,在应用程序变更时,例如新增、删除或重命名页面时,需要手动更新路由配置,这是一项繁琐且容易出错的工作,由此可见,传统的手动配置路由方式存在容错率低的问题。


技术实现要素:

5.本技术实施例的目的在于提出一种路由生成方法、装置、计算机设备及存储介质,以解决传统的手动配置路由方式存在容错率低的问题。
6.为了解决上述技术问题,本技术实施例提供一种路由生成方法,采用了如下所述的技术方案:获取待生成路由的初始文件路径;对所述初始文件路径进行转换操作,得到路由配置信息;根据所述路由配置信息进行组件生成操作,得到路由组件,并根据动态加载方式加载所述路由组件;获取重定向路由配置信息,并根据所述重定向路由配置信息进行重定向路由组件生成操作,得到重定向路由组件;根据routes组件对所述路由组件以及所述重定向路由组件进行包裹操作,并顺序渲染所述路由组件以及所述重定向路由组件。
7.进一步的,所述获取待生成路由的初始文件路径的步骤,具体包括下述步骤:根据vite的import.meta.glob方法获取传入的所述初始文件路径的文件路径模式;根据所述文件路径模式获取匹配的所述初始文件路径。
8.进一步的,所述对所述初始文件路径进行转换操作,得到路由配置信息的步骤,具体包括下述步骤:获取定义好的getroutes函数,并基于所述getroutes函数将所述转换为定义路由模式,得到所述路由配置信息,所述定义路由模式用于重新定义路由地址。
9.进一步的,所述根据所述路由配置信息进行组件生成操作,得到路由组件,并根据动态加载方式加载所述路由组件的步骤,具体包括下述步骤:调用定义好的getroutelist函数,并基于所述getroutelist函数根据所述路由配
置信息生成与所述路由配置信息相对应的初始路由组件;遍历所述路由配置信息,其中,所述路由配置信息包括n个配置项,n为大于或者等于1的整数;根据loadable方法动态加载各个初始路由组件,并传入模块导出对象作为参数,得到中间路由组件;将所述中间路由组件的路径修改为所述路由配置信息的路由路径,所述中间路由组件的元素为动态加载的组件,并可提供加载中的loading组件。
10.进一步的,所述获取重定向路由配置信息,并根据所述重定向路由配置信息进行重定向路由组件生成操作,得到重定向路由组件的步骤,具体包括下述步骤:遍历所述重定向路由配置信息,其中,所述重定向路由配置信息包括m个配置项,m为大于或者等于1的整数;调用定义好的getredirect函数,并基于所述getredirect函数根据所述重定向路由配置信息对每个所述重定向路由配置信息的配置项进行route组件生成操作,得到所述重定向路由组件。
11.进一步的,所述根据routes组件对所述路由组件以及所述重定向路由组件进行包裹操作,并顺序渲染所述路由组件以及所述重定向路由组件的步骤,具体包括下述步骤:调用定义好的autorouter组件,并基于所述autorouter组件根据所述routes组件包裹所述路由组件以及所述重定向路由组件;按顺序渲染子组件、动态加载的路由组件、重定向路由组件和最后一个匹配所有路径的nomatch组件。
12.为了解决上述技术问题,本技术实施例还提供一种路由生成装置,采用了如下所述的技术方案:路径获取模块,用于获取待生成路由的初始文件路径;转换模块,用于对所述初始文件路径进行转换操作,得到路由配置信息;组件生成模块,用于根据所述路由配置信息进行组件生成操作,得到路由组件,并根据动态加载方式加载所述路由组件;重定向路由组件生成模块,用于获取重定向路由配置信息,并根据所述重定向路由配置信息进行重定向路由组件生成操作,得到重定向路由组件;路由生成模块,用于根据routes组件对所述路由组件以及所述重定向路由组件进行包裹操作,并顺序渲染所述路由组件以及所述重定向路由组件。
13.进一步的,所述路径获取模块包括:路径模式获取子模块,用于根据vite的import.meta.glob方法获取传入的所述初始文件路径的文件路径模式;初始文件路径获取子模块,用于根据所述文件路径模式获取匹配的所述初始文件路径。
14.为了解决上述技术问题,本技术实施例还提供一种计算机设备,采用了如下所述的技术方案:包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上所述的路由生成方法的步骤。
15.为了解决上述技术问题,本技术实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的路由生成方法的步骤。
16.本技术提供了一种路由生成方法,包括:获取待生成路由的初始文件路径;对所述初始文件路径进行转换操作,得到路由配置信息;根据所述路由配置信息进行组件生成操作,得到路由组件,并根据动态加载方式加载所述路由组件;获取重定向路由配置信息,并根据所述重定向路由配置信息进行重定向路由组件生成操作,得到重定向路由组件;根据routes组件对所述路由组件以及所述重定向路由组件进行包裹操作,并顺序渲染所述路由组件以及所述重定向路由组件。与现有技术相比,本技术通过编写一些辅助函数和组件,简化了手动配置路由的过程,并提高了代码的可维护性和灵活性,同时,通过自动生成路由,开发者可以更方便地扩展和管理应用的路由部分,提高开发效率;通过动态加载组件和支持重定向功能,可以优化应用的性能和用户体验;本技术兼顾了开发效率、可维护性和应用性能等方面,使开发者能够更便捷地管理和扩展应用的路由部分。
附图说明
17.为了更清楚地说明本技术中的方案,下面将对本技术实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本技术可以应用于其中的示例性系统架构图;图2是本技术实施例一提供的路由生成方法的实现流程图;图3是本技术实施例二提供的路由生成装置的结构示意图;图4是根据本技术的计算机设备的一个实施例的结构示意图。
具体实施方式
19.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术;本技术的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本技术的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
20.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
21.为了使本技术领域的人员更好地理解本技术方案,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。
22.如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以
包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
23.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
24.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器( moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3 )、mp4( moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4 )播放器、膝上型便携计算机和台式计算机等等。
25.服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
26.需要说明的是,本技术实施例所提供的路由生成方法一般由服务器/终端设备执行,相应地,路由生成装置一般设置于服务器/终端设备中。
27.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
28.继续参考图2,示出了根据本技术的路由生成方法的一个实施例的流程图。所述的路由生成方法,包括:步骤s201、步骤s202、步骤s203、步骤s204、步骤s205、步骤s206以及步骤s207。
29.在步骤s201中,获取待生成路由的初始文件路径。
30.在本技术实施例中,在获取初始文件路径之前,需要进行初始化处理,具体的,该初始化处理需要同时引入必要的依赖库和组件,具体包括react、vite、react router等,其中,react是用于构建用户界面的javascript库,本技术利用react库构建前端应用程序;vite是前端开发与构建工具,意在提供开箱即用的配置,同时它的插件api和javascript api 带来了高度的可扩展性,并有完整的类型支持,本技术利用import.meta.glob方法动态获取匹配指定模式的文件路径;react router是react项目的可用的路由库,本技术react项目的可用的路由库。
31.在本技术实施例中,除上述react、vite、react router等依赖库和组件外,还引用了loadable、routes组件、route组件以及navigate组件,其中:vite:利用import.meta.glob方法动态获取匹配指定模式的文件路径;react:利用react库构建前端应用程序,并利用react router库实现路由功能;loadable:通过loadable方法实现组件的动态加载,即在需要使用时才进行加载,以提高应用性能和加载速度;routes组件:react router库中的组件,用于包裹所有的路由组件,实现路由的渲染和匹配;route组件:react router库中的组件,用于定义单个路由的路径、元素(组件)和其他属性;navigate组件:react router库中的组件,用于进行页面的导航和重定向。
32.在本技术实施例中,获取初始文件路径的实现方式可以是使用webpack的import.meta.glob方法,传入指定的文件路径模式'/src/**/*.page.*',获取匹配的文件
接收redirectroutes(重定向路由配置)、children、loading(加载中组件)和nomatch(无匹配路由组件)作为参数。
44.使用routes组件包裹所有的路由组件。
45.按顺序渲染子组件、动态加载的路由组件、重定向路由组件和最后一个匹配所有路径的nomatch组件。
46.在本技术实施例中,过以上步骤,该方案实现了自动化生成路由的功能。开发者只需编写符合特定命名规则的文件,并将其放置在指定目录中,即可自动化生成对应的路由配置。这种自动生成的方式简化了路由配置的过程,提高了开发效率。
47.在本技术实施例中,提供了一种路由生成方法,包括:获取待生成路由的初始文件路径;对初始文件路径进行转换操作,得到路由配置信息;根据路由配置信息进行组件生成操作,得到路由组件,并根据动态加载方式加载路由组件;获取重定向路由配置信息,并根据重定向路由配置信息进行重定向路由组件生成操作,得到重定向路由组件;根据routes组件对路由组件以及重定向路由组件进行包裹操作,并顺序渲染路由组件以及重定向路由组件。与现有技术相比,本技术通过编写一些辅助函数和组件,简化了手动配置路由的过程,并提高了代码的可维护性和灵活性,同时,通过自动生成路由,开发者可以更方便地扩展和管理应用的路由部分,提高开发效率;通过动态加载组件和支持重定向功能,可以优化应用的性能和用户体验;本技术兼顾了开发效率、可维护性和应用性能等方面,使开发者能够更便捷地管理和扩展应用的路由部分。
48.在本实施例的一些可选的实现方式中,步骤s201具体包括下述步骤:根据vite的import.meta.glob方法获取传入的初始文件路径的文件路径模式,其中,文件路径模式为/src/**/*.page.*;根据文件路径模式获取匹配的初始文件路径。
49.在本实施例的一些可选的实现方式中,步骤s202具体包括下述步骤:获取定义好的getroutes函数,并基于getroutes函数将初始文件路径转换为定义路由路径,得到所述路由配置信息,所述定义路由路径用于重新定义路由地址,具体的,即将/src/**/*.page.*转换为/page/**。
50.在本技术实施例中,getroutes函数将获取到的文件路径转换为路由配置对象的数组,并返回该数组。
51.在本实施例的一些可选的实现方式中,步骤ss203具体包括下述步骤:调用定义好的getroutelist函数,并基于getroutelist函数根据路由配置信息生成与路由配置信息相对应的初始路由组件;遍历路由配置信息,其中,路由配置信息包括n个配置项,n为大于或者等于1的整数;根据loadable方法动态加载各个初始路由组件,并传入模块导出对象作为参数,得到中间路由组件;将中间路由组件的路径修改为路由配置信息的路由路径,中间路由组件的元素为动态加载的组件,并可提供加载中的loading组件。
52.在本技术实施例中,getroutelist函数根据路由配置数组生成对应的route组件,并使用动态加载(loadable)的方式加载组件。如果提供了loading组件,则在组件加载过程
中显示该加载组件的内容。
53.在本实施例的一些可选的实现方式中,步骤s204具体包括下述步骤:遍历重定向路由配置信息,其中,重定向路由配置信息包括m个配置项,m为大于或者等于1的整数;调用定义好的getredirect函数,并基于getredirect函数根据重定向路由配置信息对每个重定向路由配置信息的配置项进行route组件生成操作,得到重定向路由组件。
54.在本技术实施例中,getredirect函数根据提供的重定向路由配置生成对应的route组件,实现页面重定向的功能。
55.在本实施例的一些可选的实现方式中,步骤s205具体包括下述步骤:调用定义好的autorouter组件,并基于autorouter组件根据routes组件包裹路由组件以及重定向路由组件;按顺序渲染子组件、动态加载的路由组件、重定向路由组件和最后一个匹配所有路径的nomatch组件。
56.在本技术实施例中,autorouter组件是一个函数组件,接受redirectroutes、children、loading和nomatch作为参数。它使用routes组件来包裹所有的路由组件,并按顺序渲染子组件、动态加载的路由组件、重定向路由组件和最后一个匹配所有路径的nomatch组件。
57.综上所述,本技术是基于react和vite的实现前端的自动生成路由功能。vite支持使用特殊的 import.meta.glob 函数动态从文件系统导入多个模块, 通过读取指定目录下的文件获取文件路径,并将其信息作为路由配置信息。具体来说,它通过指定模式'/src/**/*.page.*'来获取所有在/src目录及其子目录中以.page.为后缀的文件。然后,它将获取到的文件路径转换为路由配置信息,包括路由路径和对应的组件加载器。然后通过react的路由组件(router) 和动态加载(loadable)来渲染这些路由配置,实现自动化的路由生成。这种设计可以简化手动创建和管理路由的过程,提高开发效率。
58.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
59.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)等非易失性存储介质,或随机存储记忆体(random access memory,ram)等。
60.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一
部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例
61.进一步参考图3,作为对上述图2所示方法的实现,本技术提供了一种路由生成装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
62.如图3所示,本实施例的路由生成装置200包括:获取模块401、识别模块402、计算模块403、训练模块404以及处理模块405。其中:路径获取模块210,用于获取待生成路由的初始文件路径;转换模块220,用于对初始文件路径进行转换操作,得到路由配置信息;组件生成模块230,用于根据路由配置信息进行组件生成操作,得到路由组件,并根据动态加载方式加载路由组件;重定向路由组件生成模块240,用于获取重定向路由配置信息,并根据重定向路由配置信息进行重定向路由组件生成操作,得到重定向路由组件;路由生成模块250,用于根据routes组件对路由组件以及重定向路由组件进行包裹操作,并顺序渲染路由组件以及重定向路由组件。
63.在本实施例中,提供了一种路由生成装置200,包括:路径获取模块210,用于获取待生成路由的初始文件路径;转换模块220,用于对初始文件路径进行转换操作,得到路由配置信息;组件生成模块230,用于根据路由配置信息进行组件生成操作,得到路由组件,并根据动态加载方式加载路由组件;重定向路由组件生成模块240,用于获取重定向路由配置信息,并根据重定向路由配置信息进行重定向路由组件生成操作,得到重定向路由组件;路由生成模块250,用于根据routes组件对路由组件以及重定向路由组件进行包裹操作,并顺序渲染路由组件以及重定向路由组件。与现有技术相比,本技术通过编写一些辅助函数和组件,简化了手动配置路由的过程,并提高了代码的可维护性和灵活性,同时,通过自动生成路由,开发者可以更方便地扩展和管理应用的路由部分,提高开发效率;通过动态加载组件和支持重定向功能,可以优化应用的性能和用户体验;本技术兼顾了开发效率、可维护性和应用性能等方面,使开发者能够更便捷地管理和扩展应用的路由部分。
64.在本实施例的一些可选的实现方式中,上述路径获取模块210包括:路径模式获取子模块以及初始文件路径获取子模块,其中:路径模式获取子模块,用于根据vite的import.meta.glob方法获取传入的初始文件路径的文件路径模式,其中,文件路径模式为/src/**/*.page.*;初始文件路径获取子模块,用于根据文件路径模式获取匹配的初始文件路径。
65.在本实施例的一些可选的实现方式中,上述转换模块220包括:转换子模块,其中:转换子模块,用于获取定义好的getroutes函数,并基于getroutes函数将初始文件路径转换为定义路由路径,得到所述路由配置信息,所述定义路由路径用于重新定义路由地址,具体的,即将/src/**/*.page.*转换为/page/**。
66.在本实施例的一些可选的实现方式中,上述组件生成模块230包括:初始组件生成
子模块、路由配置信息遍历子模块、中间组件获取子模块以及组件生成子模块,其中:初始组件生成子模块,用于调用定义好的getroutelist函数,并基于getroutelist函数根据路由配置信息生成与路由配置信息相对应的初始路由组件;路由配置信息遍历子模块,用于遍历路由配置信息,其中,路由配置信息包括n个配置项,n为大于或者等于1的整数;中间组件获取子模块,用于根据loadable方法动态加载各个初始路由组件,并传入模块导出对象作为参数,得到中间路由组件;组件生成子模块,用于将中间路由组件的路径修改为路由配置信息的路由路径,中间路由组件的元素为动态加载的组件,并可提供加载中的loading组件。
67.在本实施例的一些可选的实现方式中,上述重定向路由组件生成模块240包括:重定向路由配置信息遍历子模块以及重定向路由组件生成子模块,其中:重定向路由配置信息遍历子模块,用于遍历重定向路由配置信息,其中,重定向路由配置信息包括m个配置项,m为大于或者等于1的整数;重定向路由组件生成子模块,用于调用定义好的getredirect函数,并基于getredirect函数根据重定向路由配置信息对每个重定向路由配置信息的配置项进行route组件生成操作,得到重定向路由组件。
68.在本实施例的一些可选的实现方式中,上述路由生成模块250包括:组件包裹子模块以及组件渲染子模块,其中:组件包裹子模块,用于调用定义好的autorouter组件,并基于autorouter组件根据routes组件包裹路由组件以及重定向路由组件;组件渲染子模块,用于按顺序渲染子组件、动态加载的路由组件、重定向路由组件和最后一个匹配所有路径的nomatch组件。
69.为解决上述技术问题,本技术实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
70.所述计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gate array,fpga)、数字处理器 (digital signal processor,dsp)、嵌入式设备等。
71.所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
72.所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器
61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(smart media card, smc),安全数字(secure digital, sd)卡,闪存卡(flash card)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如路由生成方法的计算机可读指令等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
73.所述处理器62在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的计算机可读指令或者处理数据,例如运行所述路由生成方法的计算机可读指令。
74.所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。
75.本技术提供的计算机设备,通过编写一些辅助函数和组件,简化了手动配置路由的过程,并提高了代码的可维护性和灵活性,同时,通过自动生成路由,开发者可以更方便地扩展和管理应用的路由部分,提高开发效率;通过动态加载组件和支持重定向功能,可以优化应用的性能和用户体验;本技术兼顾了开发效率、可维护性和应用性能等方面,使开发者能够更便捷地管理和扩展应用的路由部分。
76.本技术还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的路由生成方法的步骤。
77.本技术提供的计算机可读存储介质,通过编写一些辅助函数和组件,简化了手动配置路由的过程,并提高了代码的可维护性和灵活性,同时,通过自动生成路由,开发者可以更方便地扩展和管理应用的路由部分,提高开发效率;通过动态加载组件和支持重定向功能,可以优化应用的性能和用户体验;本技术兼顾了开发效率、可维护性和应用性能等方面,使开发者能够更便捷地管理和扩展应用的路由部分。
78.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
79.显然,以上所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例,附图中给出了本技术的较佳实施例,但并不限制本技术的专利范围。本技术可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本技术的公开内容的理解更加透彻全面。尽管参照前述实施例对本技术进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本技术说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本技术专利保护范围之内。

技术特征:
1.一种路由生成方法,其特征在于,包括下述步骤:获取待生成路由的初始文件路径;对所述初始文件路径进行转换操作,得到路由配置信息;根据所述路由配置信息进行组件生成操作,得到路由组件,并根据动态加载方式加载所述路由组件;获取重定向路由配置信息,并根据所述重定向路由配置信息进行重定向路由组件生成操作,得到重定向路由组件;根据routes组件对所述路由组件以及所述重定向路由组件进行包裹操作,并顺序渲染所述路由组件以及所述重定向路由组件。2.根据权利要求1所述的路由生成方法,其特征在于,所述获取待生成路由的初始文件路径的步骤,具体包括下述步骤:根据vite的import.meta.glob方法获取传入的所述初始文件路径的文件路径模式;根据所述文件路径模式获取匹配的所述初始文件路径。3.根据权利要求1所述的路由生成方法,其特征在于,所述对所述初始文件路径进行转换操作,得到路由配置信息的步骤,具体包括下述步骤:获取定义好的getroutes函数,并基于所述getroutes函数将所述初始文件路径转换为定义路由路径,得到所述路由配置信息,所述定义路由路径用于重新定义路由地址。4.根据权利要求1所述的路由生成方法,其特征在于,所述根据所述路由配置信息进行组件生成操作,得到路由组件,并根据动态加载方式加载所述路由组件的步骤,具体包括下述步骤:调用定义好的getroutelist函数,并基于所述getroutelist函数根据所述路由配置信息生成与所述路由配置信息相对应的初始路由组件;遍历所述路由配置信息,其中,所述路由配置信息包括n个配置项,n为大于或者等于1的整数;根据loadable方法动态加载各个初始路由组件,并传入模块导出对象作为参数,得到中间路由组件;将所述中间路由组件的路径修改为所述路由配置信息的路由路径,所述中间路由组件的元素为动态加载的组件,并可提供加载中的loading组件。5.根据权利要求1所述的路由生成方法,其特征在于,所述获取重定向路由配置信息,并根据所述重定向路由配置信息进行重定向路由组件生成操作,得到重定向路由组件的步骤,具体包括下述步骤:遍历所述重定向路由配置信息,其中,所述重定向路由配置信息包括m个配置项,m为大于或者等于1的整数;调用定义好的getredirect函数,并基于所述getredirect函数根据所述重定向路由配置信息对每个所述重定向路由配置信息的配置项进行route组件生成操作,得到所述重定向路由组件。6.根据权利要求1所述的路由生成方法,其特征在于,所述根据routes组件对所述路由组件以及所述重定向路由组件进行包裹操作,并顺序渲染所述路由组件以及所述重定向路由组件的步骤,具体包括下述步骤:
调用定义好的autorouter组件,并基于所述autorouter组件根据所述routes组件包裹所述路由组件以及所述重定向路由组件;按顺序渲染子组件、动态加载的路由组件、重定向路由组件和最后一个匹配所有路径的nomatch组件。7.一种路由生成装置,其特征在于,包括:路径获取模块,用于获取待生成路由的初始文件路径;转换模块,用于对所述初始文件路径进行转换操作,得到路由配置信息;组件生成模块,用于根据所述路由配置信息进行组件生成操作,得到路由组件,并根据动态加载方式加载所述路由组件;重定向路由组件生成模块,用于获取重定向路由配置信息,并根据所述重定向路由配置信息进行重定向路由组件生成操作,得到重定向路由组件;路由生成模块,用于根据routes组件对所述路由组件以及所述重定向路由组件进行包裹操作,并顺序渲染所述路由组件以及所述重定向路由组件。8.根据权利要求7所述的路由生成装置,其特征在于,所述路径获取模块包括:路径模式获取子模块,用于根据vite的import.meta.glob方法获取传入的所述初始文件路径的文件路径模式;初始文件路径获取子模块,用于根据所述文件路径模式获取匹配的所述初始文件路径。9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至6中任一项所述的路由生成方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至6中任一项所述的路由生成方法的步骤。

技术总结
本申请属于软件开发技术领域,涉及一种路由生成方法、装置、计算机设备及存储介质,该方法包括:获取待生成路由的初始文件路径;对所述初始文件路径进行转换操作,得到路由配置信息;根据所述路由配置信息进行组件生成操作,得到路由组件,并根据动态加载方式加载所述路由组件;获取重定向路由配置信息,并根据所述重定向路由配置信息进行重定向路由组件生成操作,得到重定向路由组件;根据Routes组件对所述路由组件以及所述重定向路由组件进行包裹操作,并顺序渲染所述路由组件以及所述重定向路由组件。本申请简化了手动配置路由的过程,并提高了代码的可维护性和灵活性。并提高了代码的可维护性和灵活性。并提高了代码的可维护性和灵活性。


技术研发人员:梁德金 何俊泽 王颖奇 冯斌
受保护的技术使用者:深圳复临科技有限公司
技术研发日:2023.07.19
技术公布日:2023/8/16
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐