CN111309332A - 文件内容按需加载方法、装置及电子设备、存储介质 - Google Patents
文件内容按需加载方法、装置及电子设备、存储介质 Download PDFInfo
- Publication number
- CN111309332A CN111309332A CN202010087227.XA CN202010087227A CN111309332A CN 111309332 A CN111309332 A CN 111309332A CN 202010087227 A CN202010087227 A CN 202010087227A CN 111309332 A CN111309332 A CN 111309332A
- Authority
- CN
- China
- Prior art keywords
- file
- dependency
- demand
- target
- loading
- 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
- 238000011068 loading method Methods 0.000 title claims abstract description 76
- 230000001419 dependent effect Effects 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 10
- 230000007246 mechanism Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 8
- 230000006835 compression Effects 0.000 claims description 5
- 238000007906 compression Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 5
- 238000002347 injection Methods 0.000 claims description 5
- 239000007924 injection Substances 0.000 claims description 5
- 230000003068 static effect Effects 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 12
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 108091029480 NONCODE Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开关于一种文件内容按需加载方法、装置及电子设备、存储介质,涉及网页生成领域。该文件内容按需加载方法通过根据接收到的多个目标文件标识及多个目标文件标识之间的依赖关系,配置需求依赖路径的集合;根据预设的配置入口文件获取文件目录结构中的一个或多个文件依赖树;根据需求依赖路径的集合,分别从文件依赖树中按需加载目标依赖树,其中,目标依赖树包括需求待加载的文件标识对应的文件模块,即可减少处理的工作量,节省时间,并且在文件依赖树包括文件模块的数量越多的情况下,提高效率的效果越明显,还可以实现细粒度的文件依赖树中的文件模块的按需加载。
Description
技术领域
本公开涉及网页生成领域,尤其涉及一种文件内容按需加载方法、装置及电子设备、存储介质。
背景技术
webpack是一种代码编译工具,具有入口、出口、loader以及插件等,能够进行代码分割、模块化。具体地,具有以下功能:1、将sass/less等预编译的css语言转换成浏览器识别的css文件2、能够将多个预编译文件打包成一个文件;3、打包image/styles/assets/scrips/等前端常用的文件;4、搭建开发环境开启服务器;5、监视文件改动、热部署;6、将单文件组件(*.vue)类型的文件,转化成浏览器识别的内容。
相关技术中,Webpack生成整体流程如下:首先根据文件目录结构对Webpack进行配置入口文件,Webpack通过配置入口文件自动解析文件目录结构中的文件模块的依赖关系,形成文件依赖树。然后根据文件依赖树生成目标项目文件包,生成的目标项目文件包可直接供线上环境使用。针对于一些包括大量的文件模块的文件目录结构而言,Webpack生成过程是比较耗时的,通常可以达到10-20分钟,效率非常低,并且对文件目录结构要求高,即只适用于多页面应用,同时不能实现页面按需加载,造成加载资源浪费。
发明内容
本公开提供了一种文件内容按需加载方法、装置及电子设备、存储介质,以至少解决相关技术中Webpack生成过程效率非常低,只适用于多页面应用结构,同时不能实现页面按需加载,造成加载资源浪费的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种文件内容按需加载方法,包括:
根据接收到的多个目标文件标识及多个目标文件标识之间的依赖关系,配置需求依赖路径的集合;
根据预设的配置入口文件获取文件目录结构中的一个或多个文件依赖树;
根据所述需求依赖路径的集合,分别从所述文件依赖树中按需加载目标依赖树,其中,所述目标依赖树包括需求待加载的文件标识对应的文件模块。
根据本公开实施例的第二方面,提供了一种文件内容按需加载装置,包括:
信息配置单元,被配置成根据接收到的多个目标文件标识及多个目标文件标识之间的依赖关系,配置需求依赖路径的集合;
数据获取单元,被配置成执行根据预设的配置入口文件获取文件目录结构中的一个或多个文件依赖树;
按需加载单元,被配置成执行根据所述需求依赖路径的集合,分别从所述文件依赖树中按需加载目标依赖树,其中,所述目标依赖树包括需求待加载的文件标识对应的文件模块。
根据本公开实施例的第三方面,提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如本公开实施例的第一方面提供的文件内容按需加载方法。
根据本公开实施例的第四方面,提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本公开实施例的第一方面提供文件内容按需加载方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括指令,当计算机程序产品被计算机所执行时,该指令使得计算机执行本公开实施例第一方面提供的文件内容按需加载方法。
本公开的实施例提供的技术方案至少带来以下有益效果:该文件内容按需加载方法,根据接收到的多个目标文件标识及多个目标文件标识之间的依赖关系,配置需求依赖路径的集合;根据预设的配置入口文件获取文件目录结构中的一个或多个文件依赖树;根据需求依赖路径的集合,分别从文件依赖树中按需加载目标依赖树,其中,目标依赖树包括需求待加载的文件标识对应的文件模块,由于仅仅是加载文件依赖树中,当前需求的文件模块,而不是加载整个文件依赖树,从而减少处理的工作量,节省时间,并且在文件依赖树包括文件模块的数量越多的情况下,提高效率的效果越明显,并且上述由于是以文件模块为单位进行加载而不是以一整棵文件依赖树为单位进行加载,从而还可以实现细粒度的文件依赖树中的文件模块的按需加载。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种文件内容按需加载方法的流程图;
图2是根据一示例性实施例示出的文件依赖树的树形节点图;
图3是根据一示例性实施例示出的目标依赖树的树形节点图;
图4是根据一示例性实施例示出的一种文件内容按需加载方法的流程图;
图5是根据一示例性实施例示出的一种文件内容按需加载方法的流程图;
图6是根据一示例性实施例示出的一种文件内容按需加载方法的流程图;
图7是根据一示例性实施例示出的一种文件内容按需加载装置的框图;
图8是根据一示例性实施例示出的一种文件内容按需加载装置的框图;
图9是根据一示例性实施例示出的一种文件内容按需加载装置的框图;
图10是根据一示例性实施例示出的一种文件内容按需加载装置的框图
图11是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
Webpack:是一个现代JavaScript应用程序的静态模块打包工具。当webpack处理应用程序时,它会在内部生成一个文件依赖树(dependency tree),此文件依赖树会映射项目所需的每个文件,并生成一个或多个目标项目文件包。
入口起点(entry point):指示webpack指定某一文件模块作为生成其文件依赖树(dependency tree)的开始。进入入口起点后,webpack会找出有哪些文件模块是入口起点(直接和间接)依赖的。默认值是./src/index.js,并可以通过在webpack结构中配置入口属性,来指定一个(或多个)不同的入口起点。
output属性:用于告诉webpack在哪里输出所创建的目标项目文件包,以及如何命名这些文件,主要输出文件的默认值是./dist/main.js,其他生成文件默认放置在./dist文件夹中。
Loader:webpack只能理解JavaScript和JSON文件。loader让webpack能够去处理其他类型的文件,并将它们转换为有效模块,以供应用程序使用,以及被添加到文件依赖树中。在更高层面,在webpack的配置中loader有两个属性:test属性,用于标识出应该被对应的loader进行转换的某个或某些文件;use属性,用于表示进行转换时,应该使用哪个loader。
文件依赖树:任何时候,一个文件模块依赖于另一个文件模块,webpack就把此视为文件模块之间有依赖关系,多个文件模块之间的依赖关系可以构成文件依赖树。这使得webpack可以接收非代码资源(non-code asset)(例如,images或webfonts),并且可以把它们作为_依赖_提供给你的应用程序。
插件机制:用于对文件依赖树进行公共部分抽离、变量注入、文件体积压缩等优化,并完成目标文件的生成(即生成目标项目文件包)等,且生成的目标文件可直接供线上环境使用。
图1是根据一示例性实施例示出的一种文件内容按需加载方法的流程图,该文件内容按需加载方法用于电子设备中,电子设备中设置有webpack,用于根据文件模块生成目标项目文件包。所述方法包括以下步骤:
S10:根据接收到的多个目标文件标识及多个目标文件标识之间的依赖关系,配置需求依赖路径的集合。
在多数场景中,创建目标项目文件包实际并不需要得到的文件依赖树包含的所有文件模块,其中,需求依赖路径的集合为开发人员根据实际需求而指定的文件模块路由集合。
因此,在预配置阶段,开发人员可以根据实际需求在开发终端指定文件模块路由集合,例如,需求依赖路径的集合包括节点地址A引用节点地址A1;节点地址B引用节点地址B1,节点地址B1引用节点地址B2;节点地址C引用节点地址C1。在指定完毕后,将指定文件模块路由集合发送至电子设备。其中,指定的文件模块路由集合包括多个目标文件标识及多个目标文件标识之间的依赖关系。需要说明的是,上述的A、A1、B、B1等即为目标文件标识,上述的节点地址之间的引用关系即为依赖关系。
S11:根据预设的配置入口文件获取文件目录结构中的一个或多个文件依赖树。
文件目录结构为开发人员根据网页设计需求预先配置的,文件目录结构映射有多个文件模块,并且文件目录结构包括有一个或多个入口节点,每个入口节点对应有一个文件依赖树,预设的配置入口文件包含有一个或多个入口节点地址。根据预设的配置入口文件,即可通过一个或多个入口节点获取文件目录结构中的一个或多个文件依赖树。
例如,配置入口文件包含节点地址A、节点地址B、节点地址C,而节点地址A引用节点地址A1,节点地址A1引用节点地址A2、节点地址A2引用节点地址A3;节点地址B引用节点地址B1,节点地址B1引用节点地址B2、节点地址B2引用节点地址B3;节点地址C引用节点地址C1,节点地址C1引用节点地址C2、节点地址C2引用节点地址C3,如图2所示,则根据配置入口文件得到的文件依赖树分别为文件模块A-文件模块A1-文件模块A2-文件模块A3;文件模块B-文件模块B1-文件模块B2-文件模块B3;文件模块C-文件模块C1-文件模块C2-文件模块C3。
S12:根据所述需求依赖路径的集合,分别从文件依赖树中按需加载目标依赖树,其中,目标依赖树包括需求待加载的文件标识对应的文件模块。
如图3所示,分别加载到的目标依赖树为文件模块A-文件模块A1;文件模块B-文件模块B1-文件模块B2;文件模块C-文件模块C1。需要说明的是,需要保证文件依赖树中的文件内容格式和目标依赖树中的文件内容格式一致。其中,文件标识的作用是为每个文件标记唯一的身份标识。
另外,Webpack配置中引入loader,用于对配置入口文件的pre-loader阶段进行配置按需加载标识。可以理解地,文件目录结构中的入口节点可以全部或者部分被配置按需加载标识。
该文件内容按需加载方法通过根据接收到的多个目标文件标识及多个目标文件标识之间的依赖关系,配置需求依赖路径的集合;根据预设的配置入口文件获取文件目录结构中的一个或多个文件依赖树;根据需求依赖路径的集合,分别从文件依赖树中按需加载目标依赖树,其中,目标依赖树包括需求待加载的文件标识对应的文件模块,由于仅仅是加载文件依赖树中,当前需求的文件模块,而不是加载整个文件依赖树,从而减少处理的工作量,节省时间,并且在文件依赖树包括文件模块的数量越多的情况下,提高效率的效果越明显,并且上述由于是以文件模块为单位进行加载而不是以一整棵文件依赖树为单位进行加载,从而还可以实现细粒度的文件依赖树中的文件模块的按需加载。
可选地,如图4所示,S12包括:
S41:遍历一个或多个文件依赖树。
例如,如果包含的文件依赖树分别为“文件模块A-文件模块A1-文件模块A2-文件模块A3”;“文件模块B-文件模块B1-文件模块B2-文件模块B3”;“文件模块C-文件模块C1-文件模块C2-文件模块C3”,则逐个对文件依赖树“文件模块A-文件模块A1-文件模块A2-文件模块A3”、“文件模块B-文件模块B1-文件模块B2-文件模块B3”、“文件模块C-文件模块C1-文件模块C2-文件模块C3”进行遍历。
S42:识别当前的文件依赖树是否被配置有按需加载标识,如果是,则执行S43。
例如,当前遍历到文件依赖树“文件模块B-文件模块B1-文件模块B2-文件模块B3”时,则确定文件依赖树“文件模块B-文件模块B1-文件模块B2-文件模块B3”是否被配置有按需加载标识。对此,可以预先在部分文件依赖树上的头一个文件配置按需加载标识,按需加载标识可以为一串字符或代码,通过识别每个文件依赖树上的头一个文件是否配置按需加载标识,即可确定当前的文件依赖树是否被配置有按需加载标识。
S43:根据所述需求依赖路径的集合与当前的文件依赖树匹配的需求依赖路径,从当前的文件依赖树加载包含需求待加载的文件标识对应的文件模块的目标依赖树。
可以理解地,对部分文件依赖树配置按需加载标识的目的为指定部分文件依赖树,并在后续仅对指定的文件依赖树进行按需加载的操作打下基础,从而实现无需对每个文件依赖树均进行按需加载(有的文件依赖树中,没有需求待加载的文件模块),进一步提高了加载的效率。
可选地,如图5所示,所述方法还包括:
S51:根据loader规则对一个或多个目标依赖树进行转换,loader规则用于将静态文件转换为动态代码。
S52:根据插件机制对转换后的目标依赖树中的文件模块进行处理而生成目标项目文件包,插件机制是用于对目标依赖树执行公共部分抽离、变量注入、文件体积压缩的机制。
S51-S52的作用为:根据加载出的一个或多个目标依赖树生成目标项目文件包。
例如,根据目标依赖树“文件模块A-文件模块A1、文件模块B-文件模块B1-文件模块B2”、“文件模块C-文件模块C1”生成一个目标项目文件包。其中,loader规则、插件机制在上述已做介绍,在此不再多做赘述。
可选地,如图6所示,所述方法还包括:
S61:响应输入的路由更新指令,对需求依赖路径的集合中的一个或多个需求依赖路径中的目标文件标识的依赖关系进行重新配置。
根据路由更新指令对需求依赖路径的集合中的一个或多个需求依赖路径中的目标文件标识的依赖关系进行重新配置方式可以为:例如,更新前的需求依赖路径的集合包括节点地址A引用节点地址A1;节点地址B引用节点地址B1,节点地址B1引用节点地址B2;节点地址C引用节点地址C1;更新后的需求依赖路径的集合包括节点地址A;节点地址B引用节点地址B1,节点地址B1引用节点地址B2,节点地址B2引用节点地址B3;节点地址C引用节点地址C1。通过路由更新指令,用户可以根据当前实际需求对需求依赖路径的集合中的具体内容进行重新配置,操作更加方便,可靠。
请参阅图7,本公开实施例还提供了一种文件内容按需加载装置700,电子设备中设置有webpack,用于根据文件模块生成目标项目文件包。需要说明的是,本申请实施例所提供的文件内容按需加载装置700,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本申请实施例部分未提及之处,可参考上述的实施例中相应内容。所述装置700包括信息配置单元701、数据获取单元702、按需加载单元703,其中,
信息配置单元701,被配置成根据接收到的多个目标文件标识及多个目标文件标识之间的依赖关系,配置需求依赖路径的集合。
数据获取单元702,被配置成执行根据预设的配置入口文件获取文件目录结构中的一个或多个文件依赖树。
按需加载单元703,被配置成执行根据所述需求依赖路径的集合,从文件依赖树中分别加载包含需求待加载的文件标识对应的文件模块的目标依赖树。
该文件内容按需加载装置700在执行时可以实现如下功能:通过根据接收到的多个目标文件标识及多个目标文件标识之间的依赖关系,配置需求依赖路径的集合;根据预设的配置入口文件获取文件目录结构中的一个或多个文件依赖树;根据需求依赖路径的集合,分别从文件依赖树中按需加载目标依赖树,其中,目标依赖树包括需求待加载的文件标识对应的文件模块,由于仅仅是加载文件依赖树中,当前需求的文件模块,而不是加载整个文件依赖树,从而减少处理的工作量,节省时间,并且在文件依赖树包括文件模块的数量越多的情况下,提高效率的效果越明显,并且上述由于是以文件模块为单位进行加载而不是以一整棵文件依赖树为单位进行加载,从而还可以实现细粒度的文件依赖树中的文件模块的按需加载。
可选地,如图8所示,按需加载单元703包括:
数据遍历模块801,被配置成执行遍历一个或多个文件依赖树。
功能确定模块802,被配置成执行识别当前的文件依赖树是否被配置有按需加载标识。
目标数据加载模块803,被配置成如果当前的文件依赖树被配置有按需加载标识,则根据需求依赖路径的集合与当前的文件依赖树匹配的需求依赖路径,从当前的文件依赖树加载包含需求待加载的文件标识对应的文件模块的目标依赖树。
可选地,如图9所示,所述装置还包括:
文件转换单元901,被配置成执行根据loader规则对一个或多个目标依赖树进行转换,loader规则用于将静态文件转换为动态代码。
构建包生成单元902,被配置成执行根据插件机制对转换后的目标依赖树中的文件模块进行处理而生成目标项目文件包,所述插件机制是用于对目标依赖树执行公共部分抽离、变量注入、文件体积压缩的机制。
可选地,如图10所示,所述装置700还包括:
数据更新单元1001,被配置成执行响应输入的路由更新指令,对需求依赖路径的集合中的一个或多个需求依赖路径中的目标文件标识的依赖关系进行重新配置。
关于上述实施例中的装置700,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图11是根据一示例性实施例示出的一种电子设备1100的框图。参照图11,电子设备1100包括处理组件1122,其进一步包括一个或多个处理器,以及由存储器1132所代表的存储器资源,用于存储可由处理组件的执行的指令,例如应用程序。存储器1132中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1122被配置为执行指令,以执行上述的文件内容按需加载方法。该文件内容按需加载方法可以为例如:
根据接收到的多个目标文件标识及多个目标文件标识之间的依赖关系,配置需求依赖路径的集合;
根据预设的配置入口文件获取文件目录结构中的一个或多个文件依赖树;
根据所述需求依赖路径的集合,分别从所述文件依赖树中按需加载目标依赖树,其中,所述目标依赖树包括需求待加载的文件标识对应的文件模块。
电子设备1100还可以包括一个电源组件1126被配置为执行电子设备1100的电源管理,一个有线或无线网络接口1150被配置为将电子设备1100连接到网络,和一个输入输出(I/O)接口1158。电子设备1100可以操作基于存储在存储器1132的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器1132,上述指令可由电子设备1100的处理器执行以完成上述文件内容按需加载方法。所述方法可以为例如:根据接收到的多个目标文件标识及多个目标文件标识之间的依赖关系,配置需求依赖路径的集合;根据预设的配置入口文件获取文件目录结构中的一个或多个文件依赖树;根据所述需求依赖路径的集合,分别从文件依赖树中按需加载目标依赖树,其中,目标依赖树包括需求待加载的文件标识对应的文件模块。
可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,包括指令,当计算机程序产品被计算机所执行时,该指令使得计算机执行本公开实施例第一方面提供的文件内容按需加载方法。所述方法可以为例如:根据接收到的多个目标文件标识及多个目标文件标识之间的依赖关系,配置需求依赖路径的集合;根据预设的配置入口文件获取文件目录结构中的一个或多个文件依赖树;根据所述需求依赖路径的集合,分别从文件依赖树中按需加载目标依赖树,其中,目标依赖树包括需求待加载的文件标识对应的文件模块。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种文件内容按需加载方法,其特征在于,包括:
根据接收到的多个目标文件标识及多个目标文件标识之间的依赖关系,配置需求依赖路径的集合;
根据预设的配置入口文件获取文件目录结构中的一个或多个文件依赖树;
根据所述需求依赖路径的集合,分别从所述文件依赖树中按需加载目标依赖树,其中,所述目标依赖树包括需求待加载的文件标识对应的文件模块。
2.根据权利要求1所述的方法,其特征在于,所述根据所述需求依赖路径的集合,分别从所述文件依赖树中按需加载目标依赖树,其中,所述目标依赖树包括需求待加载的文件标识对应的文件模块包括:
遍历所述一个或多个文件依赖树;
识别当前的文件依赖树是否被配置有按需加载标识;
如果当前的文件依赖树被配置有按需加载标识,则根据所述需求依赖路径的集合与当前的文件依赖树匹配的需求依赖路径,从当前的文件依赖树加载包含需求待加载的文件标识对应的文件模块的目标依赖树。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据loader规则对一个或多个目标依赖树进行转换,所述loader规则用于将静态文件转换为动态代码;
根据插件机制对转换后的目标依赖树中的文件模块进行处理而生成目标项目文件包,所述插件机制用于对目标依赖树执行公共部分抽离、变量注入、文件体积压缩的机制。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应输入的路由更新指令,对所述需求依赖路径的集合中的一个或多个需求依赖路径中的目标文件标识的依赖关系进行重新配置。
5.一种文件内容按需加载装置,其特征在于,包括:
信息配置单元,被配置成根据接收到的多个目标文件标识及多个目标文件标识之间的依赖关系,配置需求依赖路径的集合;
数据获取单元,被配置成执行根据预设的配置入口文件获取文件目录结构中的一个或多个文件依赖树;
按需加载单元,被配置成执行根据所述需求依赖路径的集合,分别从所述文件依赖树中按需加载目标依赖树,其中,所述目标依赖树包括需求待加载的文件标识对应的文件模块。
6.根据权利要求5所述的装置,其特征在于,所述按需加载单元包括:
数据遍历模块,被配置成执行遍历所述一个或多个文件依赖树;
功能确定模块,被配置成执行识别当前的文件依赖树是否被配置有按需加载标识;
目标数据加载模块,被配置成如果当前的文件依赖树被配置有按需加载标识,则根据所述需求依赖路径的集合与当前的文件依赖树匹配的需求依赖路径,从当前的文件依赖树加载包含需求待加载的文件标识对应的文件模块的目标依赖树。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
文件转换单元,被配置成根据loader规则对一个或多个目标依赖树进行转换,所述loader规则用于将静态文件转换为动态代码;
文件包生成单元,被配置成根据插件机制对转换后的目标依赖树中的文件模块进行处理而生成目标项目文件包,所述插件机制是用于对目标依赖树执行公共部分抽离、变量注入、文件体积压缩的机制。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
数据更新单元,响应输入的路由更新指令,对所述需求依赖路径的集合中的一个或多个需求依赖路径中的目标文件标识的依赖关系进行重新配置。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至4中任一项所述的文件内容按需加载方法。
10.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至4中任一项所述的文件内容按需加载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010087227.XA CN111309332A (zh) | 2020-02-11 | 2020-02-11 | 文件内容按需加载方法、装置及电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010087227.XA CN111309332A (zh) | 2020-02-11 | 2020-02-11 | 文件内容按需加载方法、装置及电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111309332A true CN111309332A (zh) | 2020-06-19 |
Family
ID=71145424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010087227.XA Pending CN111309332A (zh) | 2020-02-11 | 2020-02-11 | 文件内容按需加载方法、装置及电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111309332A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667937A (zh) * | 2020-12-29 | 2021-04-16 | 中国平安人寿保险股份有限公司 | 处理缓存数据方法及其相关产品 |
CN113536180A (zh) * | 2021-06-28 | 2021-10-22 | 北京达佳互联信息技术有限公司 | 项目的处理方法、装置、电子设备、存储介质和程序产品 |
CN114035827A (zh) * | 2021-11-30 | 2022-02-11 | 中国平安人寿保险股份有限公司 | 应用程序更新方法、装置、设备及存储介质 |
CN114090059A (zh) * | 2021-11-29 | 2022-02-25 | 北京字节跳动网络技术有限公司 | 一种文件构建方法、装置、计算机设备和存储介质 |
CN114817807A (zh) * | 2022-04-27 | 2022-07-29 | 中国建设银行股份有限公司 | 页面处理方法、装置、设备、可读存储介质和产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080201705A1 (en) * | 2007-02-15 | 2008-08-21 | Sun Microsystems, Inc. | Apparatus and method for generating a software dependency map |
CN104991773A (zh) * | 2015-06-30 | 2015-10-21 | 小米科技有限责任公司 | 程序生成方法及装置 |
US20160246620A1 (en) * | 2015-02-23 | 2016-08-25 | Futurewei Technologies, Inc. | On-demand loading of dynamic scripting language code for reduced memory usage |
CN107203401A (zh) * | 2016-03-17 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 一种前端项目构建方法、装置及系统 |
CN109711116A (zh) * | 2018-12-14 | 2019-05-03 | 国云科技股份有限公司 | 一种按需构建软件前端项目的方法 |
CN110245279A (zh) * | 2019-05-06 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 依赖树生成方法、装置、设备及存储介质 |
CN110531983A (zh) * | 2019-08-08 | 2019-12-03 | 国云科技股份有限公司 | 一种基于多项目构建的前端页面按需打包方法 |
-
2020
- 2020-02-11 CN CN202010087227.XA patent/CN111309332A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080201705A1 (en) * | 2007-02-15 | 2008-08-21 | Sun Microsystems, Inc. | Apparatus and method for generating a software dependency map |
US20160246620A1 (en) * | 2015-02-23 | 2016-08-25 | Futurewei Technologies, Inc. | On-demand loading of dynamic scripting language code for reduced memory usage |
CN104991773A (zh) * | 2015-06-30 | 2015-10-21 | 小米科技有限责任公司 | 程序生成方法及装置 |
CN107203401A (zh) * | 2016-03-17 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 一种前端项目构建方法、装置及系统 |
CN109711116A (zh) * | 2018-12-14 | 2019-05-03 | 国云科技股份有限公司 | 一种按需构建软件前端项目的方法 |
CN110245279A (zh) * | 2019-05-06 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 依赖树生成方法、装置、设备及存储介质 |
CN110531983A (zh) * | 2019-08-08 | 2019-12-03 | 国云科技股份有限公司 | 一种基于多项目构建的前端页面按需打包方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667937A (zh) * | 2020-12-29 | 2021-04-16 | 中国平安人寿保险股份有限公司 | 处理缓存数据方法及其相关产品 |
CN113536180A (zh) * | 2021-06-28 | 2021-10-22 | 北京达佳互联信息技术有限公司 | 项目的处理方法、装置、电子设备、存储介质和程序产品 |
CN114090059A (zh) * | 2021-11-29 | 2022-02-25 | 北京字节跳动网络技术有限公司 | 一种文件构建方法、装置、计算机设备和存储介质 |
CN114035827A (zh) * | 2021-11-30 | 2022-02-11 | 中国平安人寿保险股份有限公司 | 应用程序更新方法、装置、设备及存储介质 |
CN114817807A (zh) * | 2022-04-27 | 2022-07-29 | 中国建设银行股份有限公司 | 页面处理方法、装置、设备、可读存储介质和产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109976761B (zh) | 软件开发工具包的生成方法、装置及终端设备 | |
CN111309332A (zh) | 文件内容按需加载方法、装置及电子设备、存储介质 | |
US20060265469A1 (en) | XML based scripting framework, and methods of providing automated interactions with remote systems | |
CN111680253B (zh) | 页面应用数据包生成方法、装置、计算机设备及存储介质 | |
CN112394942B (zh) | 基于云计算的分布式软件开发编译方法及软件开发平台 | |
CN109145235B (zh) | 用于解析网页的方法、装置及电子设备 | |
CN109597618B (zh) | 程序开发方法、装置、计算机设备及存储介质 | |
CN115185550A (zh) | 服务部署方法、装置、计算机设备及存储介质 | |
CN112114805B (zh) | 页面生成方法、装置、设备 | |
CN112463256A (zh) | 确定配置文件的方法、系统、电子设备及存储介质 | |
CN111857709A (zh) | React组件和Flutter组件的映射方法、装置、电子设备及存储介质 | |
CN113238795A (zh) | 组件发布方法、装置、电子设备、存储介质及程序产品 | |
CN111562907A (zh) | 自定义接口数据的转换方法与系统 | |
CN111580821B (zh) | 脚本绑定方法、装置、电子设备及计算机可读存储介质 | |
CN114217789A (zh) | 功能组件拓展方法、装置、设备、存储介质及程序产品 | |
CN117827218A (zh) | 低代码应用支持多语言的开发方法、装置和电子设备 | |
CN115794214B (zh) | 应用模块元数据管理方法、设备、存储介质及装置 | |
CN117008920A (zh) | 引擎系统、请求处理方法、装置、计算机设备及存储介质 | |
CN111488144A (zh) | 一种数据处理方法以及设备 | |
CN110806891A (zh) | 嵌入式设备软件版本的生成方法及装置 | |
CN112714148A (zh) | 一种界面配置方法、装置、设备及介质 | |
CN113971028B (zh) | 数据处理方法、装置、设备、存储介质及计算机程序产品 | |
CN110941429A (zh) | 一种网页的业务脚本处理方法、装置及设备 | |
CN111258586B (zh) | 快应用运行、编译方法、装置、电子设备和存储介质 | |
CN114595106B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200619 |