data-main加载main.js之后,改变了main.js,刷新网页也不更新,加载的还是最初的js,难道就没有人遇到吗?没有人遇到吗?人遇到吗?网上说的方法都不行,加时间戳也不行,要放弃require了吗?请在服务器上测试,只有清除浏览器缓存时,才能更新
加时间戳一般是可以防止缓存的,除非你的服务器另外做了缓存,导致读取的是缓存数据,而不是你修改过的硬盘上的文件
最近我也遇到这个问题,缓存是浏览器的机制,每次加载图片js等等一些网页元素,浏览器都会帮我们用户缓存下来,以便之后的访问的时候可以提速,其实就是没有请求服务器,而加载的缓存。加
入urlArgs: "bust=" + (new Date()).getTime(),我在网络检测里面看到,会把path里面的文件都给加上版本号,这样是可以做到避免缓存的问题,但是我们加载的第一个文件也就是data-main指向的那个文件。那个文件并没有版本控制,并且,如果在后面加版本号也会报错。
解决的方法也简单,就是不用data-main这个属性,重写写一个srcipt的引用就可以了,有时候太依赖框架,不要把最基础的东西给搞丢了哈。
可能有些人比较执拗,非要用data-main,也是可以的,下载require的原始文件进行修改,data-main说白了就是拿到这个路径,然后框架帮你去调用了这个文件,找到相关代码,修改源代码,加入随机编号就可以了。
https://my.oschina.net/wolfx/blog/712637
这样请求main.js就会清缓存了