编辑器外触发刷新资源的小工具

有时候需要在编辑器外,新建一些资源,不想点回编辑器内,就想直接触发编辑器内的资源刷新动作。

Creator 支持 url 直接触发。3D 里没有内置这个功能。
但是预留了 server 的开发接口 这个接口会在 3.0 修改

功能

发起 http 请求 http://127.0.0.1:7456/auto-refresh/refresh-all
在不点击编辑器的情况下自动刷新资源数据(AssetDB)

简单的测试

这个插件可以在 1.2 上运行,在浏览器里请求 http://127.0.0.1:7456/auto-refresh/refresh-all (127.0.0.1:7456 是自己 ip 和 creator 监听的端口,/auto-refresh/refresh-all 是插件里监听的 url),插件收到请求后,会发送 Message 请求刷新资源数据库,刷新完成后,http 链接返回 success 字符串。

实际代码就 9 行~~大家如果对 server 的接口有什么需求或者建议,都可以提出来吖,在 3.0 版本的修改中一起实现掉~

auto-refresh.zip (1.4 KB)

exports.get = [
    {
        url: '/auto-refresh/refresh-all',
        async handle(req, res, next) {
            await Editor.Message.request('asset-db', 'refresh-asset', 'db://assets');
            res.send(`success`);
        },
    }
];
8赞

2.4 使用无效
{“error”:“404 Error.”}

老哥,现在3.8了,这个用不了,怎么办,急急急,求更新

别急,cocosAutomaticRefresh 搜这个vscode插件就能用,或者参考下这个 https://forum.cocos.org/t/topic/157204/11 的原理

1赞

赞赞赞赞赞