ctx.asset 将项目内的素材 URI 转换成当前宿主可以加载的 URL。

API

方法返回值说明
resolve(uri){ url: string, mime?: string }解析素材地址,并在可用时附带 MIME 类型

案例:在扩展 UI 中显示角色头像

输入: 项目素材 URI 为 images/characters/alice-avatar.png
function AliceAvatar() {
  const ctx = useExtensionContext();
  const asset = ctx.asset.resolve("images/characters/alice-avatar.png");

  console.log(asset);
  return <img src={asset.url} alt="爱丽丝" />;
}
输出: 返回对象的具体 URL 取决于宿主,例如:
{
  "url": "file:///game/assets/images/characters/alice-avatar.png"
}
<img> 使用返回的 url 成功加载头像。Player、Studio 和浏览器宿主可能分别返回相对 URL、file: URL 或其他可访问地址,因此不要拼接或缓存示例中的前缀。