修改js文件,引发的404问题
Posted 吉提
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改js文件,引发的404问题相关的知识,希望对你有一定的参考价值。
记录一个bug,本地测不出来,客户后台却404,web测试可参考。(不知道是不是通用的)
先介绍下背景
我们是web产品,存在发布机、管理机、js文件,页面会引用到这些js文件。出于安全考虑,规定js文件名称和文件里面都不得带有版本号。
现在描述bug的来龙去脉
比如某个js文件叫juery.2.1.1,有10个页面引用了它。这时把它的名称改掉,叫SuperSlide。按说那10个页面里面的名称也要相对应改掉,但是只改了7个页面,3个漏
改了。所以讲道理,这3个漏改的页面,前台访问的话会报js404错误。但是不然,本地测试环境的前台一切正常。
而把网站包导到客户环境,再去访问,就找不到js文件了,猝。
原因是啥呢?因为js文件是静态资源,发布的时候,是“增量式发布”。即,修改js文件名称和页面里的名称之前,发布过一次,这时发布机上存的是juery2.1.1文件---页面
里面juery2.1.1的映射关系。修改过以后,对于那3个漏掉的页面来说,再次发布,发布机里存的是Superslide文件---页面里面juery2.1.1的映射关系。这时在前台访问的话
会把所有的映射关系都遍历一边,即便在第二次的发布里找不到映射关系,在第一次的也能。总之,能找到引用的js文件,前台就不会报错。
而客户环境呢?是把本地修改后的网站包导到客户环境的,那么对客户环境进行发布之后,发布机存储的只有Superslide文件---页面里面juery2.1.1的映射关系,当然在
前台就报错了!
如何测试呢?
1.测试人员把本地发布机的js文件全部删除
2.本地访问,检查前台js报错情况
以上,web测试的朋友可以参考。
以上是关于修改js文件,引发的404问题的主要内容,如果未能解决你的问题,请参考以下文章
修改nginx配置文件访问后链接网页跳转nginx404错误页面