一种文件打包预处理的方法与设备技术

技术编号:15690987 阅读:84 留言:0更新日期:2017-06-24 03:49
本发明专利技术的目的是提供一种文件打包预处理的方法与设备。具体地,获取待被打包处理的初始源文件;确定初始源文件中的依赖包及该依赖包的至少一个引用信息;若满足至少一个引用信息均是对依赖包中的子模块的引用的触发条件,记录依赖包中各子模块的引用信息;确定各子模块中属于子模块导出的子模块的导出路径;根据记录的依赖包中各子模块的引用信息与所述导出路径,对初始源文件进行相关替换处理,以获得目标源文件,以用于打包处理。与现有技术相比,本发明专利技术在打包时剔除依赖包中未引用的子模块,减小包大小,从而减小文件体积,提高资源利用率,提升文件打包效率。相应地,也减少了用户端白屏时间,节省带宽成本。

Method and equipment for file packaging pretreatment

The object of the present invention is to provide a method and an apparatus for file packaging pretreatment. Specifically, get to be packed the initial source file; determine the dependence on the initial source file in the package and the package on at least one of the reference information; if it satisfies the at least one reference information is dependent on the sub module in the package reference trigger record relies on each sub module in the package reference information determine the export path; sub sub module is derived according to the sub module; each module records the dependencies in the reference information and the export path, the initial source file to replace the related processing, to obtain a target source file for packaging. Compared with the prior art, the invention eliminates the dependent sub modules in the package and reduces the size of the packet, thereby reducing the volume of the files, improving the utilization ratio of the resources and improving the efficiency of the packaging of the documents. Accordingly, the user reduces the white screen time and saves the bandwidth cost.

【技术实现步骤摘要】
一种文件打包预处理的方法与设备
本专利技术涉及文件打包
,尤其涉及一种文件打包预处理的技术。
技术介绍
将文件进行打包处理(也即,把一个或者多个文件用压缩软件进行压缩,压制成一个压缩文件包:一个解包文件,一个内容文件),既可以节省空间,又方便网络间传送。而在目前的打包工具中,均是将包(package)作为拆分的最小粒度,这样虽然比较简单,但是会导致打包后的文件体积比较大,并且存在一个包内的某些模块并没有被使用的现象,从而造成资源浪费。而当一个包足够大时,生成的包中的无用模块是相当可观的,资源浪费更加严重。
技术实现思路
本专利技术的一个目的是提供一种文件打包预处理的方法与设备。根据本专利技术的一个方面,提供了一种文件打包预处理方法,其中,该方法包括:获取待被打包处理的初始源文件;确定所述初始源文件中的依赖包及该依赖包的至少一个引用信息;若满足所述至少一个引用信息均是对所述依赖包中的子模块的引用的触发条件,记录所述依赖包中各子模块的引用信息;确定所述各子模块中属于子模块导出的子模块的导出路径;根据记录的所述依赖包中各子模块的引用信息与所述导出路径,对所述初始源文件进行相关替换处理,以获得目标源文件,以用于打包处理。根据本专利技术的另一方面,还提供了一种文件打包预处理设备,其中,该设备包括:用于获取待被打包处理的初始源文件的装置;用于确定所述初始源文件中的依赖包及该依赖包的至少一个引用信息的装置;用于若满足所述至少一个引用信息均是对所述依赖包中的子模块的引用的触发条件,记录所述依赖包中各子模块的引用信息的装置;用于确定所述各子模块中属于子模块导出的子模块的导出路径的装置;用于根据记录的所述依赖包中各子模块的引用信息与所述导出路径,对所述初始源文件进行相关替换处理,以获得目标源文件,以用于打包处理的装置。根据本专利技术的还一个方面,还提供了一种文件打包工具,其中,该文件打包工具包括如前述根据本专利技术另一个方面的一种文件打包预处理设备。与现有技术相比,本专利技术的一个实施例通过确定待被打包处理的初始源文件中依赖包的各子模块中属于子模块导出的子模块的导出路径,以及在依赖包的引用信息均是对其中子模块的引用的情形下,将初始源文件进行相关替换处理,以在打包时剔除依赖包中未引用的子模块,减小包大小,从而减小文件体积,提高资源利用率,提升文件打包效率。相应地,也减少了用户端白屏时间,节省带宽成本。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1示出根据本专利技术一个方面的一种用于文件打包预处理的设备示意图;图2示出根据本专利技术另一个方面的一种用于文件打包预处理的方法流程图。附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本专利技术作进一步详细描述。图1示出根据本专利技术一个方面的一种用于文件打包预处理的设备1,其中,设备1包括用于获取待被打包处理的初始源文件的装置(以下简称“文件获取装置11”);用于确定所述初始源文件中的依赖包及该依赖包的至少一个引用信息的装置(以下简称“第一确定装置12”);用于若满足所述至少一个引用信息均是对所述依赖包中的子模块的引用的触发条件,记录所述依赖包中各子模块的引用信息的装置(以下简称“记录装置13”);用于确定所述各子模块中属于子模块导出的子模块的导出路径的装置(以下简称“第二确定装置14”);用于根据记录的所述依赖包中各子模块的引用信息与所述导出路径,对所述初始源文件进行相关替换处理,以获得目标源文件,以用于打包处理的装置(以下简称“替换装置15”)。具体地,文件获取装置11获取待被打包处理的初始源文件;第一确定装置12确定所述初始源文件中的依赖包及该依赖包的至少一个引用信息;若满足所述至少一个引用信息均是对所述依赖包中的子模块的引用的触发条件,记录装置13所述依赖包中各子模块的引用信息;第二确定装置14确定所述各子模块中属于子模块导出的子模块的导出路径;替换装置15根据记录的所述依赖包中各子模块的引用信息与所述导出路径,对所述初始源文件进行相关替换处理,以获得目标源文件,以用于打包处理。设备1用于对待被打包处理的文件进行预处理,其可以由文件打包工具实现,如前端打包工具,在具体实施例中,设备1包括但不限于网络设备、用户设备或网络设备与用户设备通过网络相集成所构成的设备。在此,所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现;或者由用户设备实现。在此,云由基于云计算(CloudComputing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。在此,所述用户设备可以是任何一种可与用户通过键盘、触摸板、触摸屏、或手写设备等方式进行人机交互的电子产品,例如PC、手机、智能手机、PDA、可穿戴设备、掌上电脑PPC或平板电脑等。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(AdHoc网络)等。本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的网络设备或用户设备如可适用于本专利技术,也应包含在本专利技术保护范围以内,并在此以引用方式包含于此。在此,网络设备及用户设备均包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。具体地,文件获取装置11通过诸如打包工具自身提供的提供待被打包处理文件的应用程序接口(API),获取待被打包处理的初始源文件;或者,通过获取用户导入的待被打包处理的文件的方式,来获取待被打包处理的初始源文件。在此,本领域技术人员应当理解,所述初始源文件的格式并不受限制,优选地,所述初始源文件包括前端编译文件。例如,假设用户A预对文件夹A进行打包处理,在某打包工具中点击了打包处理按钮以提交文件打包处理请求,然后选择了文件夹A,则文件获取装置11通过打包工具自身提供的提供待被打包处理文件的应用程序接口(API),便可获取待被打包处理的初始源文件,即文件夹A。本领域技术人员应能理解上述获取待被打包处理的初始源文件的方式仅为举例,其他现有的或今后可能出现的获取待被打包处理的初始源文件的方式如可适用于本专利技术,也应包含在本专利技术保护范围以内,并在此以引用方式包含于此。第一确定装置12通过诸如抽象语法树(AST,AbstractSyntaxTree),对所述初始源文件进行静态语法分析,以确定所述初始源文件中的依赖包及该依赖包的至少一个引用信息。在此,所述依赖包是指所述初始源文件中引入的包,其可来源于其他文件。例如,接上例,第一确定装置12对文件夹A通过AST进行静态语法分析,获取到文件夹A中有以下import和/或require声明:声明1):import{ModuleA1,ModuleB1}from‘packageA’console.log(ModuleA1,ModuleB1)//对子模块的引用声明2):import*aspackageBfrom‘packageB’console.log(package.ModuleA2,package.m本文档来自技高网...
一种文件打包预处理的方法与设备

【技术保护点】
一种文件打包预处理方法,其中,该方法包括:获取待被打包处理的初始源文件;确定所述初始源文件中的依赖包及该依赖包的至少一个引用信息;若满足所述至少一个引用信息均是对所述依赖包中的子模块的引用的触发条件,记录所述依赖包中各子模块的引用信息;确定所述各子模块中属于子模块导出的子模块的导出路径;根据记录的所述依赖包中各子模块的引用信息与所述导出路径,对所述初始源文件进行相关替换处理,以获得目标源文件,以用于打包处理。

【技术特征摘要】
1.一种文件打包预处理方法,其中,该方法包括:获取待被打包处理的初始源文件;确定所述初始源文件中的依赖包及该依赖包的至少一个引用信息;若满足所述至少一个引用信息均是对所述依赖包中的子模块的引用的触发条件,记录所述依赖包中各子模块的引用信息;确定所述各子模块中属于子模块导出的子模块的导出路径;根据记录的所述依赖包中各子模块的引用信息与所述导出路径,对所述初始源文件进行相关替换处理,以获得目标源文件,以用于打包处理。2.根据权利要求1所述的方法,其中,所述相关替换处理包括以下至少任一项:-利用所述导出路径对所述初始源文件中关于所述依赖包的导入声明进行替换;-利用记录的所述依赖包中各子模块的引用信息对所述初始源文件中关于所述依赖包中的子模块的引用信息进行替换。3.根据权利要求1或2所述的方法,其中,确定所述各子模块中属于子模块导出的子模块的导出路径包括:-获取所述依赖包的各子模块的根目录;-获取所述依赖包的各子模块的输出;-根据所述根目录,并结合所述输出,确定所述各子模块的导出路径;-根据所述各子模块的导出路径,确定所述各子模块中属于子模块导出的子模块,以得到属于子模块导出的子模块的导出路径。4.根据权利要求1至3中任一项所述的方法,其中,确定所述初始源文件中的依赖包及该依赖包的至少一个引用信息包括:对所述初始源文件进行静态语法分析,以确定所述初始源文件中的依赖包及该依赖包的至少一个引用信息。5.根据权利要求1至4中任一项所述的方法,其中,所述初始源文件包括前端编译文件。6.根据权利要求1至5中任一项所述的方法,其中,若所述初始源文件中具有多个依赖包,其中,若满足所述至少一个引用信息均是对所述依赖包中的子模块的引用的触发条件,记录所述依赖包中各子模块的引用信息还包括:若满足多个所述依赖包中至少一个依赖包的至少一个引用信息均是对该依赖包中的子模块的引用的触发条件,记录该依赖包中各子模块的引用信息。7.一种文件打包预处理设备,其中,该设备包括:用于获取待被打包处理的初始源文件的装置...

【专利技术属性】
技术研发人员:陈敏亮
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1