down下来官网的例子,什么都不改动,可以跑通,但是自己用node version_generator.js xxx 生成示例中同样目录文件project.manifest文件 ,文件中原本是"/"的地方都变成了%5C代替,
全部手动换成“/”后,替换掉示例中的manifest文件再运行报错,
你好,请问你使用的 creator 版本是多少?
version generator 的问题可能是在 windows 中你用的 node js 版本的 encodeURI 结果不正确
https://github.com/cocos-creator/tutorial-hot-update/blob/master/version_generator.js#L71
比如:
encodeURI('/res/my image.png')
结果是:"/res/my%20image.png"
在这里使用 encodeURI 来对 url 进行一次编码的原因是避免 url 拼接过程中不支持空格之类的特殊字符,可以尝试升级一下 node js 版本
如果你确定你的路径中不包含空格等特殊字符,可以在 version_generator 中去掉 encodeURI
子龙大大,我这边用的是 1.2.1-rc.1 版本.
@panda大大,重新安装了官网最新的node,不论是否去掉 encodeURI 结果还是一样的,没去掉就是会变成%5C ,去掉的话就会变成 “\” 双斜杠
我同样是在windows底下,因为它取到的路径是反斜线,例如 aaa\bbb\ccc 我是这样修改:
relative = relative.replace(/\/g, “/”);
把 \ 取代成 /,就可以了
你看到 \\ 其中之一 是跳脱字元,它就是 \
挖坟了,我遇到md5问题,版本2.4.x,version_generator.js也是官方给的最新demo里,已经修复常见的md5的构建问题,但是,对相同的工程,内容不变情况下进行两次构建,构建出来的project.manifest里边记录着另外一个manifest文件的md5永远不同,这个是其中一个问题。
另外一个问题是,对于希望用zip包做热更减少下载io,依然两次相同构建,每次构建zip包记录在project.manifest里的MD5全都不同,后来找找社区里有人说需要指定压缩包的固定时间戳,让其忽略修改时间,但内容一样的情况,于是我就加入了固定时间压缩,用的是js的jszip工具,格式如下
jszip.file(文件路径, 文件内容, { binary: true,date: 固定时间戳 });
然而出来的结果依然是md5码全变,
针对这两个问题,不知道楼主有没有碰到过,尤其是第一个问题是否是正常现象。