想实现热更新功能,但又不想让热更新下载的更新文件是js源码,所以就把可能需要更新的文件先编译成了jsc代码存放到服务器上。
然后热更新的功能十分正常,可以检测,下载,解压,但是jsc文件里面的中文在运行时全部乱码
例如:如果读取js源码里cc.log(XXX);中的XXX如果是中文的话,换成读取jsc之后,XXX就乱码了
想实现热更新功能,但又不想让热更新下载的更新文件是js源码,所以就把可能需要更新的文件先编译成了jsc代码存放到服务器上。
然后热更新的功能十分正常,可以检测,下载,解压,但是jsc文件里面的中文在运行时全部乱码
例如:如果读取js源码里cc.log(XXX);中的XXX如果是中文的话,换成读取jsc之后,XXX就乱码了
建议中文都放在一个配置文件里面,代码里面用变量读取
楼主更新jsc是编译好了之后把jsc拿出来在放在资源服务器上面的吗
是的。
加载jsc的方式……没什么方式啊,在文件里写的还是.js,但当你有jsc和js同时存在的时候他会优先读取jsc而不是js
{
“packageUrl”: “http://192.168.0.180:8080/html5/”,
“remoteManifestUrl”: “http://192.168.0.180:8080/html5/project_dev.manifest”,
“remoteVersionUrl”: “http://192.168.0.180:8080/html5/version_dev.manifest”,
“version”: “1.2.29”,
“engineVersion”: “3.x dev”,
“assets”: {
“src/levelScene/layer/AnimationLayer.jsc” : {
“md5” : “…”
}
},
"searchPaths": "src",
"res"]
}
我是这么更新的,但是客户端好像没有变化,资源文件是看到变化的
哦我不是单独写某个文件的,而是把所有的jsc打包成zip,下载这个zip后再自动解压
我js文件还不是写在project.json里面的还是在更新完之后用cc.loader.load加载的
zip包的我也试过,也不行,能不能看看你的配置文件
{
“packageUrl”: “http://192.168.0.180:8080/html5/”,
“remoteManifestUrl”: “http://192.168.0.180:8080/html5/project_dev.manifest”,
“remoteVersionUrl”: “http://192.168.0.180:8080/html5/version_dev.manifest”,
“version”: “1.2.30”,
“engineVersion”: “3.x dev”,
“assets”: {
“src.zip” : {
“md5” : “…”,
“compressed” : true
}
},
"searchPaths": "src",
"res"]
}
也不行
{
“packageUrl”:“XXXXXXX”,
“remoteManifestUrl”:“YYYYYYY”,
“remoteVersionUrl”:“ZZZZZZZZ”,
“version”:“1.0.3”,
“groupVersions” : {
“1” : “1.0.4”
},
“engineVersion”:“3.3”,
“assets”:{
“update1”:{
“path”:“src/src.zip”,
“md5”:“7BFA4AEAB2167F465AD95111D2F1C397”,
“compressed”:true,
“group”:“1”
},
“update2”:{
“path”:“res/res.zip”,
“md5”:“8E303965FBFC49C5C214DC67AAC98AE0”,
“compressed”:true,
“group”:“1”
}
},
“searchPaths”:
]
}
谢谢,src/src.zip zip里面放的直接是jsc文件吗,能看下目录结构吗
webContent下自己建了个文件夹叫src,然后里面放置src.zip,内容就直接是各个jsc文件
好的,谢谢啊,我在试试看