小程序开发文档 参考 · 兼容性

与微信小程序的差异

多数页面逻辑可以复用,但渲染模型、交互方式与可用 API 仍然是子集。下面每一条都会影响迁移结果。

对照表

维度微信小程序NXMiniApp
入口微信内的发现页 / 搜索 / 分享独立容器,先进入商店式启动器
分发微信后台,自动更新从服务端目录下载 .nxpkg,点击时按版本安装
渲染webview + 浏览器 CSSYoga 排版 + NanoVG 原生绘制
页面多页面 + 路由 + 页面栈多页面 + navigateTo / navigateBack / redirectTo / reLaunch
数据更新setData 增量更新setData 合并后整树重建与重绘
交互触摸、滚动、输入、手势手柄焦点导航、A 激活、B 返回;鼠标左键 / 触摸点击命中节点;桌面键盘方向键 / Enter / Backspace
组件完整组件库 + 自定义组件22 类内置标签,无自定义组件
事件冒泡 / 捕获 / 完整事件对象tap(含冒泡)/ change / input / confirm / video 事件
wx.* API200+ 接口36 个可用 + 18 个兼容占位
样式完整 CSS 能力Flex + 定位 + 阴影 + 文本属性子集
选择器优先级有无,按源码顺序覆盖
布局默认值view 为块级元素所有盒子默认 flex-direction: column
单位rpx 按屏幕宽换算固定 640/750,与窗口宽度无关
图片真实加载、支持网络图加载包内本地图片;远程 URL 显示占位
文本无行数上限自动换行,单段建议不超过 64 行
字体可加载自定义字体仅内置常规字体,粗体为描边模拟
滚动页面级滚动 + 手势scroll-view 由焦点导航自动滚动;无手势与滚轮
横竖屏可配置固定 16:9 横屏,1280×720 逻辑画布

迁移检查清单

  1. 补齐 app.js / app.wxss(可选),页面路径写进 app.json 的 pages。
  2. 把依赖自定义组件、template / import 的结构改写为内置标签。
  3. wx:elif / wx:else 与 wx:for 可以直接使用;wx:key 可保留但无 diff 作用。
  4. bind:tap / catchtap 可以直接使用;bindtap 会沿祖先冒泡,catchtap 终止冒泡。
  5. 把未列出的 wx.* 调用替换为已支持接口,或加上 wx.canIUse 判断。
  6. 按 样式章节 清理伪类、动画、渐变、媒体查询与子代选择器。
  7. 布局默认是 column;需要横排时显式写 flex-direction: row。
  8. 按 1280×720 重新排版;超出一屏的内容放进 scroll-view。
  9. 远程图片改为包内资源;image 的 mode 支持 scaleToFill / aspectFit / aspectFill。
  10. textarea 目前是单行输入法,多行编辑需要拆成多个 input。

设计建议

本页是能力边界说明;具体属性与组件规则见「组件」「样式」「API」章节。