一种静态资源更新方法及系统技术方案

技术编号:18711649 阅读:30 留言:0更新日期:2018-08-21 22:47
本发明专利技术公开一种静态资源更新方法及系统,其方法包括:对静态资源进行打包,对引用的打包后的静态资源的路径hash化,收集预设时间内的hash发生变化的该静态资源,将Html文件上传至服务器,静态资源上传至腾讯云,从而达到实现在不对源代码产生影响的前提下完成打包,发布,避免了代码库中文件版本发生冲突带来的影响,同时增量发布,仅仅发布新加入的文件,大大提升发布速度,同时,今天资源在线上的多版本共存,保证了在发布过程中,静态资源始终能被访问到,提供站点的可用性。

A static resource updating method and system

The invention discloses a static resource updating method and system. The method includes: packaging static resources, hashing the path of the referenced packaged static resources, collecting the static resources whose hash changes in the preset time, uploading the Html file to the server, and uploading the static resources to Tencent cloud, so as to achieve the goal. To achieve without affecting the source code under the premise of complete packaging, publishing, to avoid the impact of conflict in the code base version of the file, while incremental publishing, just publishing new files, greatly improve the speed of publishing, at the same time, today's resources on-line multi-version coexistence, to ensure that in the publishing process Static resources can always be accessed to provide site availability.

【技术实现步骤摘要】
一种静态资源更新方法及系统
本专利技术涉及静态资源更新
,尤其涉及一种静态资源更新方法及系统。
技术介绍
当前随着web站点的发布频率逐渐提高,站点静态资源数量随业务扩展不断增加的情况下,每次更新静态资源,均需开发者手动更新改动了的静态资源版本号,同时,静态资源的不断增加,也降低了发布过程的速度。现有的静态资源更新方案,包括:正则匹配出html中静态资源的路径,在其访问路径后加上search字段,以保证线上站点访问到最新的静态资源,发布过程为全量发布,即无论文件是否改动,均覆盖式发布。现有的静态资源更新方案,无法解决css文件中图片资源的更新问题,需开发中手动更新其版本号,同时发布时,全量发布,导致发布速度缓慢。
技术实现思路
本专利技术提供一种静态资源更新方法及系统,用以解决技术无法解决css文件中图片资源的更新问题,需开发中手动更新其版本号,同时发布时,全量发布,导致发布速度缓慢的技术问题。为解决上述技术问题,本专利技术提供一种静态资源更新方法,其特征在于,包括:对静态资源进行打包;对引用的打包后的静态资源的路径hash化;收集预设时间内的hash发生变化的所述静态资源;将Html文件上传至服务器,静态资源上传至腾讯云。其中,所述对静态资源进行打包,包括:复制目标静态资源至工作目录,对所述工作目录中的静态资源进行打包。其中,所述复制目标静态资源至工作目录,对所述工作目录中的静态资源进行打包,包括:采用记忆性方式复制目标静态资源至工作目录,采用webpack的方式对所述工作目录中的静态资源进行打包。其中,所述对引用的打包后的静态资源的路径hash化,包括:第一步,先获取出css文件中引用的图片媒体资源,找到对应图片资源的绝对路径并获取其hash值,并重命名为[name]-[hash].ext,同时修改所述资源在css文件中的路径为cos路径/[name]-[hash].[ext];第二步,获取html中的静态资源路径,包括图片、js、css资源,根据其路径获取绝对路径并计算出hash,步骤同第一步;在第一步及第二步中,对于路径hash化的静态资源,以map的方式保存期路径,key为hash值,路径为value值,以日期为文件名,保存至文件中。其中,所述对引用的打包后的静态资源的路径hash化,还包括:保存已hash与静态资源的路径的对应关系,且按日期保存在文件中,通过比较不同日期的文件,得到hash值存在差异的数据项,获取增量的文件路径,并拷贝至待压缩目录,供发布时使用。为解决上述技术问题,本专利技术还提供一种静态资源更新系统,包括:打包单元、hash化单元、收集单元、上传单元。所述打包单元,用于对静态资源进行打包;所述hash化单元,用于对引用的打包后的静态资源的路径hash化;所述收集单元,用于收集预设时间内的hash发生变化的所述静态资源;所述上传单元,用于将Html文件上传至服务器,静态资源上传至腾讯云。其中,所述打包单元,用于对静态资源进行打包,包括:所述打包单元,用于复制目标静态资源至工作目录,对所述工作目录中的静态资源进行打包。其中,所述打包单元,用于复制目标静态资源至工作目录,对所述工作目录中的静态资源进行打包,包括:所述打包单元,用于采用记忆性方式复制目标静态资源至工作目录,采用webpack的方式对所述工作目录中的静态资源进行打包。其中,所述hash化单元,用于对引用的打包后的静态资源的路径hash化,包括:所述hash化单元,用于第一步,先获取出css文件中引用的图片媒体资源,找到对应图片资源的绝对路径并获取其hash值,并重命名为[name]-[hash].ext,同时修改所述资源在css文件中的路径为cos路径/[name]-[hash].[ext];第二步,获取html中的静态资源路径,包括图片、js、css资源,根据其路径获取绝对路径并计算出hash,步骤同第一步;在第一步及第二步中,对于路径hash化的静态资源,以map的方式保存期路径,key为hash值,路径为value值,以日期为文件名,保存至文件中。其中,所述hash化单元,用于对引用的打包后的静态资源的路径hash化,还包括:所述hash化单元,用于保存已hash与静态资源的路径的对应关系,且按日期保存在文件中,通过比较不同日期的文件,得到hash值存在差异的数据项,获取增量的文件路径,并拷贝至待压缩目录,供发布时使用。本专利技术提供的静态资源更新方法,包括:对静态资源进行打包,对引用的打包后的静态资源的路径hash化,收集预设时间内的hash发生变化的该静态资源,将Html文件上传至服务器,静态资源上传至腾讯云,从而达到实现在不对源代码产生影响的前提下完成打包,发布,避免了代码库中文件版本发生冲突带来的影响,同时增量发布,仅仅发布新加入的文件,大大提升发布速度,同时,今天资源在线上的多版本共存,保证了在发布过程中,静态资源始终能被访问到,提供站点的可用性。本专利技术提供的静态资源更新系统,包括:打包单元、hash化单元、收集单元、上传单元;打包单元,用于对静态资源进行打包,hash化单元,用于对引用的打包后的静态资源的路径hash化,收集单元,用于收集预设时间内的hash发生变化的该静态资源,上传单元,用于将Html文件上传至服务器,静态资源上传至腾讯云,从而达到实现在不对源代码产生影响的前提下完成打包,发布,避免了代码库中文件版本发生冲突带来的影响,同时增量发布,仅仅发布新加入的文件,大大提升发布速度,同时,今天资源在线上的多版本共存,保证了在发布过程中,静态资源始终能被访问到,提供站点的可用性。附图说明图1为本专利技术静态资源更新方法的流程示意图;图2为本专利技术静态资源更新系统的结构示意图。具体实施方式下面结合附图和实施例,对本专利技术作进一步的详细描述。特别指出的是,以下实施例仅用于说明本专利技术,但不对本专利技术的范围进行限定。同样的,以下实施例仅为本专利技术的部分实施例而非全部实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。本专利技术提供一种静态资源更新方法。请参见图1,图1为本专利技术静态资源更新方法的流程示意图,本专利技术静态资源更新方法,包括:S101:对静态资源进行打包。S102:对引用的打包后的静态资源的路径hash化。S103:收集预设时间内的hash发生变化的该静态资源。S104:将Html文件上传至服务器,静态资源上传至腾讯云。其中,对静态资源进行打包,包括:复制目标静态资源至工作目录,对该工作目录中的静态资源进行打包。其中,复制目标静态资源至工作目录,对该工作目录中的静态资源进行打包,包括:采用记忆性方式复制目标静态资源至工作目录,采用webpack的方式对该工作目录中的静态资源进行打包。其中,对引用的打包后的静态资源的路径hash化,包括:第一步,先获取出css文件中引用的图片媒体资源,找到对应图片资源的绝对路径并获取其hash值,并重命名为[name]-[hash].ext,同时修改该资源在css文件中的路径为cos路径/[name]-[hash].[ext];第二步,获取html中的静态资源路径,包括图片、js、css等资源,根据其路径获取绝对路径并计算出hash本文档来自技高网...

【技术保护点】
1.一种静态资源更新方法,其特征在于,包括:对静态资源进行打包;对引用的打包后的静态资源的路径hash化;收集预设时间内的hash发生变化的所述静态资源;将Html文件上传至服务器,静态资源上传至腾讯云。

【技术特征摘要】
1.一种静态资源更新方法,其特征在于,包括:对静态资源进行打包;对引用的打包后的静态资源的路径hash化;收集预设时间内的hash发生变化的所述静态资源;将Html文件上传至服务器,静态资源上传至腾讯云。2.如权利要求1所述的静态资源更新方法,其特征在于,所述对静态资源进行打包,包括:复制目标静态资源至工作目录,对所述工作目录中的静态资源进行打包。3.如权利要求2所述的静态资源更新方法,其特征在于,所述复制目标静态资源至工作目录,对所述工作目录中的静态资源进行打包,包括:采用记忆性方式复制目标静态资源至工作目录,采用webpack的方式对所述工作目录中的静态资源进行打包。4.如权利要求1所述的静态资源更新方法,其特征在于,所述对引用的打包后的静态资源的路径hash化,包括:第一步,先获取出css文件中引用的图片媒体资源,找到对应图片资源的绝对路径并获取其hash值,并重命名为[name]-[hash].ext,同时修改所述资源在css文件中的路径为cos路径/[name]-[hash].[ext];第二步,获取html中的静态资源路径,包括图片、js、css资源,根据其路径获取绝对路径并计算出hash,步骤同第一步;在第一步及第二步中,对于路径hash化的静态资源,以map的方式保存期路径,key为hash值,路径为value值,以日期为文件名,保存至文件中。5.如权利要求1或4所述的静态资源更新方法,其特征在于,所述对引用的打包后的静态资源的路径hash化,还包括:保存已hash与静态资源的路径的对应关系,且按日期保存在文件中,通过比较不同日期的文件,得到hash值存在差异的数据项,获取增量的文件路径,并拷贝至待压缩目录,供发布时使用。6.一种静态资源更新系统,其特征在于,包括:打包单元、hash化单元、收集单元、上传单元。所述打包单元,用于对静态资源进行打包;所述has...

【专利技术属性】
技术研发人员:张伦易郑超
申请(专利权)人:深圳市富途网络科技有限公司
类型:发明
国别省市:广东,44

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

1