返回介绍

资源路径

发布于 2019-12-31 14:29:14 字数 1492 浏览 1362 评论 0 收藏 0

本文将介绍 Weex 中 uri(url) 的用法。包括使用图像、字体等资源,处理相对路径以及如何访问本地及打包的资源文件。

Schemes

本地资源

Weex SDK 提供 local scheme 来访问打包在应用程序中的资源,此 scheme 无法在 H5 环境下使用。目前,开发者可以在 image 组件和字体文件中使用本地资源。

  • 在 iOS 中,Weex 会在 bundle resources 中查找。例如,image 组件的 src 属性为 local:///app_icon', Weex 会加载 bundle resouce 中名为 app_icon 的图像资源,而字体文件也以相同的方式工作。

  • 在 Android 中,image 组件将从 drawable 资源文件夹加载,如 res/drawable-xxx。但加载字体文件是不同的,Android 框架无法从 res 加载字体文件,因此 SDK 将从 asserts 文件夹加载它。

远程资源

  • HTTP/HTTPS,它的工作方式与 web 相同,Weex 一直支持这种方式。

  • File ,使用 file scheme 访问本地磁盘文件。这个方案有其局限性:

    • 你不应该在源页面中硬编码文件 url。因为不管它是否运行在不同的平台(iOS,Android)上,同一平台不同机型的结果也可能不同,这取决于具体的设备。
    • 所以一种可行的方案是在运行时动态获取文件 url,你可以使用它来显示本地磁盘的图像,或者稍后上传它。

相对路径

与我们在 HTML 中的用法类似,Weex 以相同的方式处理相对路径。以/...// 开头的相对 URI 将相对于 bundle url 解析。

这意味着, 一个以 / 开头的路径将是相对于 JS Bundle 文件的根文件夹。. 则是当前文件夹,.. 是父文件夹。 // 则被解析为与 JS Bundle 相同的 scheme。

URI Adapter

以上所有是默认实现,开发者可以通过提供一个 URI Adapter 来扩展或覆盖默认实现。与其他 Adapter 相同,应在 Weex SDK 初始化之前设置自定义 Adapter。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文