Haxe Flixel构建HTML5资源请求去唯一查询参数方法
移除Haxe Flixel HTML5构建的资源URL查询参数
那些带数字的?xxxxxx查询参数是Lime框架默认添加的**缓存破击(cache busting)**机制,用来避免浏览器加载旧的缓存资源。要去掉这些参数,有几个可行的方案:
方法1:修改项目配置(最简单推荐)
直接在项目根目录的project.xml里添加一行配置,禁用缓存破击功能:
<set name="html5-cache-busting" value="false" />
添加完成后重新运行lime build html5构建项目,资源URL就不会再带查询参数了,这种方式不需要修改框架源码,维护起来最方便。
方法2:修改Lime框架源码(配置无效时使用)
如果上面的配置没生效,直接修改Lime处理资源URL的逻辑:
- 找到Lime的安装路径,一般是
~/.haxe/lib/lime/[你的版本号]/src(Windows系统下通常是C:\HaxeToolkit\haxe\lib\lime\[版本号]\src) - 打开
lime/tools/HTML5Tool.hx文件 - 找到生成缓存参数的代码段,大概是这样的逻辑:
var cacheBusting = project.getDefine("html5-cache-busting", true); if (cacheBusting) { var hash = ...; // 生成哈希值的代码 url += "?" + hash; } - 要么直接把
cacheBusting设为false,要么把整个if代码块注释掉,比如:var cacheBusting = false; // 强制关闭缓存破击 // 原有的if判断代码可保留但不会执行 - 重新构建项目后,资源URL的查询参数就会消失。
方法3:检查Flixel的资源加载逻辑(可能性较低)
如果怀疑是Flixel层面添加的参数,找到Flixel安装目录下的flixel/system/FlxAssetLoader.hx文件,查看其中拼接URL的部分,若存在添加查询参数的代码,直接删除对应逻辑即可。
注意:修改框架源码后,后续更新Lime或Flixel时需要重新执行修改操作,因此优先推荐方法1的配置方式。
内容的提问来源于stack exchange,提问作者Сережа Белоус
相关产品推荐
相关产品推荐

