资源路径
本文将介绍 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 ,使用 filescheme 访问本地磁盘文件。这个方案有其局限性:- 你不应该在源页面中硬编码文件 url。因为不管它是否运行在不同的平台(iOS,Android)上,同一平台不同机型的结果也可能不同,这取决于具体的设备。
- 所以一种可行的方案是在运行时动态获取文件 url,你可以使用它来显示本地磁盘的图像,或者稍后上传它。
 
#相对路径
与我们在 HTML 中的用法类似,Weex 以相同的方式处理相对路径。以/、.、..、// 开头的相对 URI 将相对于 bundle url 解析。
这意味着, 一个以 / 开头的路径将是相对于 JS Bundle 文件的根文件夹。. 则是当前文件夹,.. 是父文件夹。 // 则被解析为与 JS Bundle 相同的 scheme。
#URI Adapter
以上所有是默认实现,开发者可以通过提供一个 URI Adapter 来扩展或覆盖默认实现。与其他 Adapter 相同,应在 Weex SDK 初始化之前设置自定义 Adapter。
 
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号