- 快速开始
- JSX 介绍
- JSX+ 介绍
- 组件
- 事件处理
- 样式设置
- Hooks 介绍
- Driver 介绍
- 容器差异
- 工程介绍
- 目录结构
- 应用配置
- 应用入口
- 生命周期
- 路由管理
- 简介
- 语法约束
- Hooks
- 多端组件开发
- API 使用
- 静态资源引用
- 项目构建配置
- 页面配置
- 使用原生项目配置文件
- Rax 与小程序代码混用
- FAQ
- 更新日志
- 简介
- 环境变量与 Framework
- Weex Style 支持表
- Weex 组件
- Weex 模块
- 页面降级
- JS Service
- Bundle 解析
- 事件与手势
- 事件通信
- Weex 国际化
- Weex 常见问题
- 简介
- Document
- App Shell
- 代码分离
- 保存至桌面
- 渲染节点快照
- 预加载和预渲染
- 页面保活
- 缓存控制
- PHA 介绍
- 快速开始
- 编码指南
- 数据请求
- FaaS 接入: Now
- FaaS 接入: FC
- 与 Node 应用集成
- 数据请求
- 异步编程
- Rax 错误码
- 简介
- Lite 工程
- 云端一体化工程
- 插件配置
- 插件开发
- 插件简介
- build-plugin-rax-app
- build-plugin-rax-component
- build-plugin-rax-multi-pages
- build-plugin-rax-ssr
- build-plugin-rax-compat-react
- rax-plugin-app 0.1.0 升级
- 调试 Web
- 调试小程序
- 加载性能优化
- 渲染性能优化
- 从 Rax 0.x 升级
- 从 React 迁移
- API 概述
- render
- hydrate
- createPortal
- findDOMNode
- setNativeProps
- getElementById
- unmountComponentAtNode
- createElement
- cloneElement
- createFactory
- isValidElement
- Children
- memo
- Fragment
- createRef
- forwardRef
- useState
- useEffect
- useLayoutEffect
- useContext
- useRef
- useCallback
- useMemo
- useReducer
- useImperativeHandle
- PropTypes
- version
- ActionSheet
- Background
- Keyboard
- Animation
- Transition
- Toast
- Alert
- Confirm
- Loading
- Navigate
- ChooseImage
- Image
- Request
- Network
- File
- Env
- Device
- Clipboard
- AppState
- AsyncStorage
- Accelerometer
- 组件概述
- Text
- View
- TextInput
- Link
- Icon
- Image
- Picture
- Video
- ScrollView
- RecyclerView
- Waterfall
- Embed
- Countdown
- Canvas
- RefreshControl
- Slider
- Modal
- Weex JS Service
- Rax 长列表最佳实践
- 如何减小 Bundle Size
- Rax 0.x 开发工具
- Native 知识扫盲
- iOS 无障碍
- Rax 性能最佳实践
- 从零上手 Rax
- Rax v0.6 组件体验升级
- Rax v0.5 建立服务体系
- Rax v0.3 跨端生态建设
- Rax v0.2 基础能力建设
- 2016 淘宝双促中的 Rax
- Why Rax?
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
环境变量与 Framework
Weex 环境变量
Weex 提供 WXEnvironment 用来获取 Weex 运行的环境变量,浏览 Weex 环境变量。
提供字段如下
- platform (String) Current running platform, could be "Android", "iOS" or "Web".
- weexVersion (String) The version of Weex SDK.
- appName (String) Mobile app name or browser name.
- appVersion (String) The version of current app.
- osName (String) The OS name, could be "Android" or "iOS".
- osVersion (String) The version of current OS.
- deviceModel (String) Mobile phone device model. (native only)
- deviceWidth (Number) Screen resolution width.
- deviceHeight (Number) Screen resolution height.
Frameowrk
Native 和 Web 天生就有很多差异,为了让开发者有更好的体验,大部分的差异是不需要让开发者去关心的。因此 Native 端我们模拟出了大量 Web 端的标准全局 API。
初始化时机
访问 Weex 页面 -> 初始化 framework -> 执行页面 bundle
W3C API
部分依赖客户端提供能力,或者特殊逻辑的 API
API | 描述 |
---|---|
name | 获取/设置窗口的名称 |
closed | false ,一个只读的属性标识页面是否关闭 |
atob | 较早的 Weex 版本实现依赖 base64. Weex 新版实现依赖 native 能力 |
btoa | 较早的 Weex 版本实现依赖 base64. Weex 新版实现依赖 native 能力 |
performance | 性能数据,来自 framework 侧打点 |
document | createInstanceContext 过程中创建的 Document 实例 |
location | url 相关功能不可写,assign、replace、reload 三个 api 来自客户端能力 |
navigator | 提供如下能力:product、platform、appName、appVersion、userAgent \n userAgent 示例: Weex/0.12 iOS/9.3 (iPhone7,2) AppName/0.12 |
screen | width、height、availWidth、availHeigh、colorDepth、pixelDepth(weex 上 width 与 availWidth 值相同为 __weex_env__.deviceWidth height 与 availHeigh 为 __weex_env__.deviceHeight ) |
devicePixelRatio | 设备像素比 |
fetch | 异步获取资源,依赖 Weex 模块 @weex-module/stream |
setTimeout | 依赖 Weex 模块 @weex-module/timer 实现 |
clearTimeout | 依赖 Weex 模块 @weex-module/timer 实现 |
setInterval | 依赖 Weex 模块 @weex-module/timer 实现 |
clearInterval | 依赖 Weex 模块 @weex-module/timer 实现 |
requestAnimationFrame | 依赖 Weex 模块 @weex-module/timer 实现 |
cancelAnimationFrame | 依赖 Weex 模块 @weex-module/timer 实现 |
alert | 依赖 Weex 模块 @weex-module/modal 实现 |
open | 依赖 Weex 模块 @weex-module/navigator 实现 |
close | 依赖 Weex 模块 @weex-module/navigator 实现 |
postMessage | Weex BroadcastChannel 能力 |
addEventListener | 跨页面监听使用 BroadcastChannel 能力,页面内监听使用内部的 Emitter |
removeEventListener | 移除页面内消息监听 |
dispatchEvent | 页面内发送消息 |
onerror | 利用 globalEvent 监听页面错误信息 |
基于 JS Polyfill 实现抹平端差异的 API
API | 描述 |
---|---|
Promise | 优先使用 Native 能力,用于表示一个异步操作的最终完成 (或失败), 及其结果值. |
Symbol | 优先使用 Native 能力,创建 Symbol 数据类型实例,该类型具有静态属性和静态方法 |
Map | 优先使用 Native 能力,Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值 |
Set | 优先使用 Native 能力,Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用 |
WeakMap | 优先使用 Native 能力,一组键/值对的集合,其中的键是弱引用的。其键必须是对象,而值可以是任意的 |
WeakSet | 优先使用端上能力,允许你将弱保持对象存储在一个集合中 |
Headers | 构造方法创建一个新的Headers 对象. |
Response | 构造函数创建了一个新的 Response 对象. |
Request | 构造器创建一个新的Request 对象 |
XMLHttpRequest | 构造方法初始化一个XMLHttpRequest对象 |
URL | 构造函数返回一个新创建的 URL 对象 |
URLSearchParams | 构造器创建并返回一个新的 URLSearchParams 对象 |
FontFace | 构造器创建并返回一个新的 FontFace 对象 |
WebSocket | 提供了创建和管理到服务器的 websocket 连接以及发送和接收连接数据的 api |
Event | 只有当DOM事件处理程序被调用的时候会被用到。它的值是当前正在处理的事件对象 |
CustomEvent | 构造方法 CustomerEvent() 创建一个新的 CustomEvent 对象。 |
matchMedia | 指定的媒体查询字符串解析后的结果 |
模块规范
API | 描述 |
---|---|
define | 组件定义 |
require | 组件依赖,支持 Rax 组件与 Weex 原生模块,注意 Weex 模块需要以 @weex-module/ 开头 |
Weex 宿主对象
API | 描述 |
---|---|
__weex_document__ | createInstanceContext 过程中创建的 Document 实例 |
__weex_module_supports__ | weex.isRegisteredModule |
__weex_tag_supports__ | weex.isRegisteredComponent |
__weex_define__ | 组件定义 |
__weex_require__ | 组件依赖,支持 Rax 组件与 Weex 原生模块,注意 Weex 模块需要以 @weex-module/ 开头 |
__weex_downgrade__ | 页面降级方法,依赖 @weex-module/instanceWrap |
__weex_env__ | WXEnvironment |
__weex_options__ | 创建 Instance 所传递的参数 |
__weex_data__ | 创建 Instance 所传递的数据 |
__weex_config__ | 同 __weex_options__ |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论