求助:有没有「重新导入资源」的api可以调用

写了一个扩展面板,面板通过调用fs-extra模块的writeFileSync,将数据的修改写入asserts中


点击保存后会将数据写入asserts下对应文件

但是因为更改过程并不是在「资源管理器」中进行的,因此不会自动同步到library
需要手动重新导入资源

如果不重新导入资源,那么打印出来的结果还是上一次的内容

求问有没有「重新导入资源」的api可以实现 writeFileSync 之后自动化重新导入

用了reimport-asset 解决的


编辑器有添加资源和刷新资源的接口,如果要用fs,那么只需要调用刷新接口就行了

Editor.assetdb.refresh(`db://` + path, (err, results) => {})
1赞

这个能用吗?

async function reloadTsFile(){
    // asset-db
    // reimport-asset
    // 重新导入资源
    // urlOrUUID {string} 资源的 URL 或者 UUID
    // refresh-asset
    // 刷新一个资源所在的 url 位置,删除资源会被销毁,新增资源会导入
    // urlOrUUID {string} 资源的 URL 或者 UUID
    const reloadTsFile_000=await  Editor.Message.request("asset-db", "reimport-asset", "affbab09-3f8e-4c76-a3e5-a89181728a26");
    const reloadTsFile_001=await  Editor.Message.request("asset-db", "refresh-asset", "affbab09-3f8e-4c76-a3e5-a89181728a26");
};

不行,Editor上没有assetdb

这个方法也不行

你是3.x的?

抱歉啊,我选错分区了,我用的是3.5.2的编辑器,不是2.x的,Editor上没有assetdb

请问3.x编辑器,刷新的api是什么呢,文档中没找到

顶部菜单 -> 开发者 -> 消息列表 -> asset-db -> refresh-asset

4赞

我上面那个代码写的就是这个 3.5.2 的消息呀, 这两个也用不了吗 ?