本发明涉及web开发领域,尤其涉及一种关于web前端资源文件版本统一管理与发布的方法。
背景技术:
当前web前端发布资源文件,只能在开发环境,通过svn保持着着最新的版本。从开发环境发布到正式环境时,如果不采取策略,客户端由于浏览器缓存的原因,不能及时看到最新的页面效果。
最原始的解决办法是通知使用者去清空浏览器缓存去看到最新的版本。
高级一点的方法是在引用资源文件的时候加个全局固定的版本号,可以避免客户端缓存的问题。但是每次更新,就算更新一个很小的文件,客户端也需要重新加载所有的资源文件,影响客户浏览体验。
因此,现有的web前端发布资源文件时,客户端由于浏览器缓存的原因,不能及时看到最新的页面效果是本领域技术人员需要解决的技术问题。
技术实现要素:
本发明实施例提供了一种关于web前端资源文件版本统一管理与发布的方法,用于解决现有的web前端发布资源文件时,客户端由于浏览器缓存的原因,不能及时看到最新的页面效果的技术问题。
本发明实施例提供的一种关于web前端资源文件版本统一管理与发布的方法,包括:
s1:读取svn系统的版本信息和与版本信息对应的资源文件,并生成相应的版本号列表并将版本号列表和资源文件发布;
s2:读取版本号列表并根据版本号列表中的svn版本号检测浏览器缓存中是否包含与svn版本号对应的资源文件,若是,则读取浏览器缓存中的缓存资源文件,若否,则根据版本号列表中的svn版本号读取对应的已发布的资源文件;
其中,所述版本号列表包括svn系统的版本信息、与版本信息对应的资源文件在svn系统中的svn版本号。
优选地,所述步骤s1具体包括:
s1001:读取svn系统的版本信息和与版本信息对应的资源文件;
s1002:检测版本信息和资源文件是否有更新,若是,则生成相应的版本号列表并将版本号列表和资源文件发布,若否,则结束。
优选地,所述步骤s2之前还包括:
t1:加载需要浏览的页面并调用统一文件加载器;
t2:根据统一文件加载器加载版本号列表和资源文件。
优选地,所述步骤s2具体包括:
s2001:读取版本号列表中的第一个svn版本号;
s2002:根据读取的svn版本号检测浏览器缓存中是否包含与svn版本号对应的资源文件,若是,则读取浏览器缓存中的缓存资源文件,若否,则根据版本号列表中的svn版本号读取对应的已发布的资源文件;
s2003:判断是否将所有svn版本号读取完毕,若否,则读取版本号列表中的下一个svn版本号并返回执行步骤s2002,若是,则结束。
优选地,所述步骤s1中将版本号列表和资源文件发布具体为:
将资源文件发布到正式环境中;
将版本号列表和页面文件发布到正式环境中;
其中,所述正式环境为web开发过程中与测试环境相对的正式使用环境。
本发明实施例提供的一种关于web前端资源文件版本统一管理与发布的装置,包括:
发布工具,用于读取svn系统的版本信息和与版本信息对应的资源文件,并生成相应的版本号列表并将版本号列表和资源文件发布;
前端加载工具,用于读取版本号列表并根据版本号列表中的svn版本号检测浏览器缓存中是否包含与svn版本号对应的资源文件,若是,则读取浏览器缓存中的缓存资源文件,若否,则根据版本号列表中的svn版本号读取对应的已发布的资源文件;
其中,所述版本号列表包括svn系统的版本信息、与版本信息对应的资源文件在svn系统中的svn版本号。
优选地,所述发布工具具体包括:
svn读取单元,用于读取svn系统的版本信息和与版本信息对应的资源文件;
检测发布单元,用于检测版本信息和资源文件是否有更新,若是,则生成相应的版本号列表并将版本号列表和资源文件发布,若否,则结束。
优选地,本发明实施例还包括:
页面加载模块,用于加载需要浏览的页面并调用统一文件加载器;
版本加载模块,用于根据统一文件加载器将版本号列表和资源文件加载至前端加载工具。
优选地,所述前端加载工具具体包括:
第一版本号读取单元,用于读取版本号列表中的第一个svn版本号;
资源文件读取单元,用于根据读取的svn版本号检测浏览器缓存中是否包含与svn版本号对应的资源文件,若是,则读取浏览器缓存中的缓存资源文件,若否,则根据版本号列表中的svn版本号读取对应的已发布的资源文件;
循环读取单元,用于判断是否将所有svn版本号读取完毕,若否,则读取版本号列表中的下一个svn版本号并返回执行资源文件读取单元,若是,则结束。
优选地,所述发布工具中的将版本号列表和资源文件发布具体由以下单元完成:
资源文件发布单元,用于将资源文件发布到正式环境中;
页面发布单元,用于将版本号列表和页面文件发布到正式环境中;
其中,所述正式环境为web开发过程中与测试环境相对的正式使用环境。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例提供的一种关于web前端资源文件版本统一管理与发布的方法,包括:读取svn系统的版本信息和与版本信息对应的资源文件,并生成相应的版本号列表并将版本号列表和资源文件发布,读取版本号列表并根据版本号列表中的svn版本号检测浏览器缓存中是否包含与svn版本号对应的资源文件,若是,则读取浏览器缓存中的缓存资源文件,若否,则根据版本号列表中的svn版本号读取对应的已发布的资源文件,从而在浏览器具有缓存的时候能根据svn版本号读取缓存或者是发布的资源文件,及时更新资源文件,解决了现有的web前端发布资源文件时,客户端由于浏览器缓存的原因,不能及时看到最新的页面效果的技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种关于web前端资源文件版本统一管理与发布的方法的一个实施例的流程图;
图2为本发明实施例提供的一种关于web前端资源文件版本统一管理与发布的方法的另一个实施例的流程图;
图3为本发明实施例提供的一种关于web前端资源文件版本统一管理与发布的方法的另一个实施例的另一种流程图;
图4为本发明实施例提供的一种关于web前端资源文件版本统一管理与发布的方法中用于解释开发环境、正式环境、客户端之间的关系的图。
具体实施方式
本发明实施例提供了一种关于web前端资源文件版本统一管理与发布的方法,用于解决现有的web前端发布资源文件时,客户端由于浏览器缓存的原因,不能及时看到最新的页面效果的技术问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例提供的一种关于web前端资源文件版本统一管理与发布的方法的一个实施例,包括:
101:读取svn系统的版本信息和与版本信息对应的资源文件,并生成相应的版本号列表并将版本号列表和资源文件发布;
102:读取版本号列表并根据版本号列表中的svn版本号检测浏览器缓存中是否包含与svn版本号对应的资源文件,若是,则读取浏览器缓存中的缓存资源文件,若否,则根据版本号列表中的svn版本号读取对应的已发布的资源文件;
其中,所述版本号列表包括svn系统的版本信息、与版本信息对应的资源文件在svn系统中的svn版本号。
本发明实施例提供的一种关于web前端资源文件版本统一管理与发布的方法,包括:读取svn系统的版本信息和与版本信息对应的资源文件,并生成相应的版本号列表并将版本号列表和资源文件发布,读取版本号列表并根据版本号列表中的svn版本号检测浏览器缓存中是否包含与svn版本号对应的资源文件,若是,则读取浏览器缓存中的缓存资源文件,若否,则根据版本号列表中的svn版本号读取对应的已发布的资源文件,从而在浏览器具有缓存的时候能根据svn版本号读取缓存或者是发布的资源文件,及时更新资源文件,解决了现有的web前端发布资源文件时,客户端由于浏览器缓存的原因,不能及时看到最新的页面效果的技术问题。
以下将对本发明实施例提供的本发明实施例提供的一种关于web前端资源文件版本统一管理与发布的方法的另一个实施例进行详细的描述。
请参阅图2和图3,本发明实施例提供的一种关于web前端资源文件版本统一管理与发布的方法的另一个实施例,包括:
201:读取svn系统的版本信息和与版本信息对应的资源文件;
202:检测版本信息和资源文件是否有更新,若是,则生成相应的版本号列表并将版本号列表和资源文件发布,若否,则结束。
203:加载需要浏览的页面并调用统一文件加载器;
204:根据统一文件加载器加载版本号列表和资源文件。
205:读取版本号列表中的第一个svn版本号;
206:根据读取的svn版本号检测浏览器缓存中是否包含与svn版本号对应的资源文件,若是,则读取浏览器缓存中的缓存资源文件,若否,则根据版本号列表中的svn版本号读取对应的已发布的资源文件;
207:判断是否将所有svn版本号读取完毕,若否,则读取版本号列表中的下一个svn版本号并返回执行步骤206,若是,则结束。
其中,所述版本号列表包括svn系统的版本信息、与版本信息对应的资源文件在svn系统中的svn版本号。
步骤202中将版本号列表和资源文件发布具体为:
将资源文件发布到正式环境中;
将版本号列表和页面文件发布到正式环境中;
其中,所述正式环境为web开发过程中与测试环境相对的正式使用环境。
需要说明的是,本专利的目的就是解决上述问题,打通svn的版本号到发布环境的版本号。由于svn的对所有文件都有自己的版本号,通过本专利的发布工具和前端加载工具,可以对应所有前端文件生成唯一的版本号,生成资源文件的版本号列表,一键发布到正式环境中。这样可以每次发布到正式环境后,避免客户端缓存文件立即可以查看最新的页面;又可以做到增量更新,就算只更新一个文件,客户端也不用重新加载所有文件,极大提高浏览体验。同时解决生成版本号,发布文件时机械劳动,通过工具一键发布,提高生产力。
目前类似的前端版本管理技术中,有一种解决方案也可以实现前端资源版本管理:就是通过后台端(jsp、php或其他)统一对资源文件的版本号进行管理。
对比起本专利,上述方法存在一些不足:对后端依赖,跟svn版本号不一定统一,版本回滚需要全文件回滚。
尤其是对后端依赖这个问题,本专利是纯前端控制的版本读取,不依赖任何后端,可以方便实现同一前端框架对接不同后端。
本专利的版本号与svn版本号一致,这样可以直接在客户端就可以很方便查看当前的前端文件是否最新版本。
请参阅图4,本发明实施例中的开发环境、正式环境、客户端之间的关系如图4所示。
本专利的关键点是:
1.打通了开发环境的svn版本与正式环境的版本,使得版本号得以统一,方便维护。
2.通过工具整合了从svn更新,到根据svn版本信息生成对应的版本文件的工作流程,免去手动维护,提高生产力,减少出错概率。
3.提供前端统一加载器,实现统一的资源文件的版本管理。
需要说明的是,本专利产生资源文件的版本过程,其实就是对资源文件生成一个版本号的副本。上传到正式环境的服务器时,可以有效避免发布时的间隙问题。否则,用传统的发布方法,发布时覆盖资源文件的先后间隔问题,此时客户端刷新页面就会不可避免出现文件不同步而产生的bug。
因为新的资源文件是副本,发布时不会覆盖现有的文件,所以先发布资源文件,再发布页面文件和版本列表,就能解决上述的间隔问题。
如果涉及到版本回滚,可以较少操作的文件。因为旧版本的文件在正式环境存在副本,所以可以不用回滚资源文件,只需要回滚html页面和版本列表文件即可。
以下将对本发明实施例提供的一种关于web前端资源文件版本统一管理与发布的装置的一个实施例进行详细的描述。
本发明实施例提供的一种关于web前端资源文件版本统一管理与发布的装置,包括:
发布工具,用于读取svn系统的版本信息和与版本信息对应的资源文件,并生成相应的版本号列表并将版本号列表和资源文件发布;
前端加载工具,用于读取版本号列表并根据版本号列表中的svn版本号检测浏览器缓存中是否包含与svn版本号对应的资源文件,若是,则读取浏览器缓存中的缓存资源文件,若否,则根据版本号列表中的svn版本号读取对应的已发布的资源文件;
其中,所述版本号列表包括svn系统的版本信息、与版本信息对应的资源文件在svn系统中的svn版本号。
发布工具具体包括:
svn读取单元,用于读取svn系统的版本信息和与版本信息对应的资源文件;
检测发布单元,用于检测版本信息和资源文件是否有更新,若是,则生成相应的版本号列表并将版本号列表和资源文件发布,若否,则结束。
本发明实施例还包括:
页面加载模块,用于加载需要浏览的页面并调用统一文件加载器;
版本加载模块,用于根据统一文件加载器将版本号列表和资源文件加载至前端加载工具。
前端加载工具具体包括:
第一版本号读取单元,用于读取版本号列表中的第一个svn版本号;
资源文件读取单元,用于根据读取的svn版本号检测浏览器缓存中是否包含与svn版本号对应的资源文件,若是,则读取浏览器缓存中的缓存资源文件,若否,则根据版本号列表中的svn版本号读取对应的已发布的资源文件;
循环读取单元,用于判断是否将所有svn版本号读取完毕,若否,则读取版本号列表中的下一个svn版本号并返回执行资源文件读取单元,若是,则结束。
发布工具中的将版本号列表和资源文件发布具体由以下单元完成:
资源文件发布单元,用于将资源文件发布到正式环境中;
页面发布单元,用于将版本号列表和页面文件发布到正式环境中;
其中,所述正式环境为web开发过程中与测试环境相对的正式使用环境。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。