1 / 5
文档名称:

前端工程师-高级WEB网站前端开发JS、CSS的合并压缩指南模板.docx

格式:docx   大小:41KB   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

前端工程师-高级WEB网站前端开发JS、CSS的合并压缩指南模板.docx

上传人:非学无以广才 2019/12/8 文件大小:41 KB

下载得到文件列表

前端工程师-高级WEB网站前端开发JS、CSS的合并压缩指南模板.docx

文档介绍

文档介绍:前端工程师-高级WEB网站前端开发JS、CSS的合并压缩指南本篇文章主要讨论下目前JS,CSS合并、压缩、缓存管理存在的一些问题,然后分享下自己项目中用到的1个处理方案,并提供1个实例下载。AD:存在的问题:合并、压缩文件主要有2方面的问题:。,生产环境为了需要加载合并、压缩后的文件,而开发环境为了修改、调试方便,需要加载非合并、压缩的文件,所以我们常常需要在JSP中类似与下面的判断代码:<c:if test="${env=='prod'}">    <script type="text/javascript" src="/js/"></script> </c:if> <c:if test="${env=='dev'}">    <script type="text/javascript" src="/js/"></script>    <script type="text/javascript" src="/js/"></script>    <script type="text/javascript" src="/js/"></script> </c:if> 缓存问题:在现在JS满天飞的时代,大家都知道缓存能带来的巨大好处,但缓存确实非常麻烦的一个问题,相信很多人曾经历过下面的情况:为了让程序更快,在服务器上为JS加上缓冲5天的代码,但产品更新后第二天就接到电话说系统出错,详细了解后就发现是缓存引起的,让用户删除缓存后就会OK。原因很简单,就是你JS已经修改了,但用户还在使用缓存中的老JS。在经历几次这种情况,被领导数落了几次后。没办法只能把JS的缓冲去掉,或者改成8个小时。可这样就完全失去了缓存的优势了,哪我们到底需要解决哪些问题才能让我们使用缓冲顺心如意了?,自动把所有引用该JS页面的代码中加上1个版本号?,根据什么来产生这个版本号。可能有人为了解决上面的缓存问题,写了个JSP标签,通过标签读取JS、css文件的修改时间来作为版本号,从而来解决上面2个问题。但这种方法有下面几个缺点:,速度慢。当然你可以把文件的修改时间放到缓存中,这样也会加到了内存使用量。(我们公司就是这样),则会失效。每次发布,不是直接覆盖之前的WEB目录,运维的为的发布方便,要求每次发布直接给他们1个war包,他们会把之前WEB目录整个删除,然后上传现在的war包,这样就导致程序运行后,所有文件的最后修改时间都是解压war的时间。分享自己项目中的处理方案:为了解决上面讨论过的问题,在下写了1个如下的组件,组件中根据我们自己的实际情况使用了文件大小来做为文件的版本号,虽然在文件修改很小(比如把字符a改成b),可能文件大小并没有变,导致版本号也不会变。但这种机率还是非常低的。当然如果你觉的使用文件修改时间作为版本号适合你,只需要修改一行代码就行,下面看下这个组件的处理流程(本来想用流程图表达,最后还是觉的文字来的直白写):(contextInitialized)2.,,:#文件