cocos creator3.6.0打包作为webview嵌入app报错

  • Creator 版本:3.6.0

  • 目标平台:app内置网页,google内核

  • 重现方式:打包web-mobile,并放入app中作为内置资源使用,在手机上运行,之前2.4.6的路径是可以的,现在的直接放进去会报错

  • 首个报错:
    error fetching sysytemjs-import map file’…
    unable to resolve bare specifier ’cc‘ …
    如图:


  • 之前哪个版本是正常的: 2.4.6
  • 手机型号: 华为荣耀mate30pro Android系统
  • 手机浏览器: google
  • 编辑器操作系统: mac
  • 重现概率: 100%
1赞

webview的url加载路径是‘file://assets/xxx/xxxx/xxx/xx/index.html’,这个路径之前用2.4.6的时候是正常的,升级引擎后就这样了

我是直接将2.4.6项目升级到3.6.0的,不知道跟这个是不是有关

没有官方的引擎组在看吗

请问下你能放web服务上查看这个发布后的项目文件吗

我放到服务器上远程加载是没问题的,现在就是打包到app中,用本地路径加载有问题

有地址能看吗?

跨域了吧。

app 内部启动个 http server,然后用 localhost 访问,不可使用 file协议直接打开,否则会违反 webview 安全策略

远程地址是没问题的,只有打包到app中本地加载有问题

src里system.bundle.js加载src里的.json失败了,导致了后面js报错,加载是用的H5的fetch方法

我的问题就是将web-mobile整个放到app中,从本地加载,而之前的2.4.6版本打包后是可以本地运行的,我升级到3.6.0之后,就不行了

这个可以配置设定

但是这样,我们也只能猜测

app中本地路径访问,肯定要用file协议的,问题.json无法加载导致了cc.js报错,后来我手动改了cc.js的加载路径,使用相对路径,cc.js的加载不报错了,但是还有其他js路径报错,无解。。

你需要在Android工程中,加载一个webview,路径写本地cocos打包web-mobile的路径才能看到报错,web-mobile包放到Android工程的asset目录中,用file协议加载


这位大佬的方法,亲测有效

好的,我试试,多谢!!

亲测可行,先这样用着吧,希望没有坑,多谢大佬赐予!!

ios好像还是有问题,报错显示rangError: status must be between 200 and 599,这个咋整