Creator H5 使用 Service Worker 问题

请问一下~~~我想在Creator开发H5的游戏 要加入推拨的功能

此时就需要使用Service Worker

想请问一下 假如我Code是

navigator.serviceWorker.register(‘sw.js’).then(function (swReg) {
});

这时后的sw.js需要放在根目录

那我Build出来的时后是可以执行的 因为根目录我知道在哪

可是假如使用Creator上方的Run on browser的话 会开启http://localhost:7456/ 的网址

想请问一下这时后的根目录我需要放在哪是对的

感谢

定制 preview 会比较麻烦,不然你就每次都发布运行白

那是否有机会可以开一个目录, 是里面可以放JS的档案 (不会经过compile)

然后在Run on browser的时后 他也会把那目录抓进来

Build正式版的时后 他也会把目录的档案copy一份过去这样

不知道这样会不会很麻烦 !

感谢您

1赞

service worker 脚本设置成 「导入为插件」行吗?

插件脚本不会编译,service worker 初始化的时候把自身注册到 window 的全局变量,然后脚本里直接调用吧

刚把service worker设成plugin

在Preview上 指定位置为 ‘res/raw-assets/script/plugin/sw.js’

可是Build出来后的位置为 ‘src/assets/script/plugin/sw.js’

因为navigator.serviceWorker.register(srcURL) <-- 此是需要带档案路径进去的

请问有办法判断现在是Build出来的跟Preview的Code吗

感谢回覆

我放在resources裡面 配合build-templates 放一組一樣的解決了

感謝

目前使用宏 CC_DEV 可以判断是否是开发版还是 build 版,也可以试试

这样不行吧。 sw只能接收到对应目录下来的请求,所以必须得放到根目录。