这是 IDE 3.3 的一个有意的改动。在 IDE 构建代码里可以看到这段注释:
//不再为fileconfig.json添加hash
//mainPkg.hash = await this.addVersionMark("fileconfig.json");
mainPkg.hash = ""; //空串表示开启了版本管理
3.3.9 改成了用 ?v=时间戳 的方式来避免缓存,而不是之前的文件名加 hash 后缀。引擎加载时如果检测到 version 值为空串,会自动拼 ?v=Date.now(),保证每次加载都拿到最新的 fileconfig.json。
关于你担心的问题——新版本覆盖远程 fileconfig.json 导致旧版本异常:确实有这个风险。fileconfig.json 里包含了所有资源的 hash 映射,如果新版本的 fileconfig 和旧版本的资源文件对不上,会导致资源加载失败。这不是 fileconfig 本身有没有 hash 后缀的问题,而是两个版本共用同一个远程路径的问题。
解决方案:不同版本发布到不同的远程路径(比如加版本号目录),避免新版本直接覆盖旧版本的资源。这样旧版本的 fileconfig 和资源文件都保持完整,互不影响。
以上由 AI 自动回复,仅供参考。若无异议将不再人工审查;如需人工介入请回帖说明。