DCloud_heavensoft
DCloud_heavensoft
  • 发布:2019-04-17 02:51
  • 更新:2023-08-25 16:09
  • 阅读:56294

uni-app各环节版本兼容性说明

分类:uni-app

此文档停止维护,最新的文档见:uni版本说明

uni-app是一个跨度很大的产品,支持多种开发ide、HBuilderX有正式版和alpha版、支持cli和普通项目、支持很多端、有云打包app和本地打包app、编译器模式支持老的模板模式和新的自定义组件模式。
它们都会升级,如果出现一个升级、另一个未升级的情况,可能会运行异常。

正常情况,HBuilderX升级后,其自带的app运行基座、uni-app编译器、云打包配套引擎会同步升级。但在开发者使用cli创建项目、使用自定义基座、使用5+sdk离线打包时,就需要手动维护版本更新。

我们经常遇到的误报问题是:“我的HBuilderX已经是最新版了,升级日志里提到的已解决问题,为什么没有仍然存在?”,其实有的是因为cli项目下编译器是旧的、有的是因为本地打包的sdk是旧的,有的是因为自定义基座的版本是旧的。

  • 如果你使用cli创建项目(即项目根目录是package.json),不管用什么ide,即便是用HBuilderX,切记cli项目的编译器是在项目下的,HBuilderX不管怎么升级都不会影响编译器版本。你需要手动npm update来升级编译器。以及如果你想要安装less、scss等预编译器,也需要自己npm安装在项目下,而不是在HBuilderX的插件管理里安装。

  • 如果你使用离线打包,请注意HBuilderX升级后,真机运行基座和云打包对应引擎跟随HBuilderX升级,而你的sdk需要手动升级。sdk的版本升级一般滞后HBuilderX正式版升级一两天。在这里下载最新版

  • 如果你使用自定义基座,之前制作的自定义基座是不会跟随HBuilderX升级的,升级HBuilderX后你应该重新制作新版自定义基座。

  • 如果你使用wgt升级,新版HBuilderX编译的wgt,运行到之前的runtime上,一定要先测试好,看有没有兼容性问题。如果有问题,就不要wgt升级,整包升级。

  • 考虑到向下兼容,uni-app编译器在升级为新的自定义组件模式后,同时保留了对老编译模式的向下兼容。
    在HBuilderX alpha版中,App端一定会使用新编译器,不理会manifest配置。
    在HBuilderX 正式版中,新创建的项目会使用新编译器,老项目不会强制使用,而是开发者自己在manifest里配置开启。

  • 如果你使用其他ide开发uni-app,会经常因为拼错单词而运行失败,因为经过webpack编译一道,很多错误反应的不够直观,排错时间很长,不如从开始就依赖有良好提示的HBuilderX,避免敲错单词。

  • 云打包的引擎版本说明
    自HBuilderX 3.9起,云打包机版本保留了多个可用的版本,具体可用的云端打包版本参考下方的版本对应表。
    打包时,服务端会根据用户使用的HBuilderX或cli版本去匹配最合适的打包机,规则如下(匹配优先级从高到低):

    1. HBuilderX或cli版本与云端版本完全一致;
    2. HBuilderX或cli版本的大版本号与云端一致时,使用该大版本的最新版本;如打包机上有[3.92, 3.93, 3.99, 4.01, 4.10],则3.91使用3.99打包机。
    3. 当以上规则无法匹配时,使用云端最新版本。

举个例子:
当云打包机有以下版本[3.7.11,3.8.12,3.92, 3.93, 3.99, 4.01, 4.15]可用时:

  • 如果HBuilderX使用3.7.11,3.8.12,3.92, 3.93, 3.99, 4.08, 4.15这些版本时,版本号完全匹配,直接使用同版本号打包机;
  • 如果HBuilderX使用3.7.3,则云端打包机使用3.7.11版本;HBuilderX使用3.91,则云端打包机使用3.99版本;HBuilderX使用4.01版本,则云端打包机使用4.08版本;
  • 如果HBuilderX使用3.7以下的版本,则云端打包机使用最新版本4.15。

很多人在报问题时不说清自己的情况,导致别人给出错误的回答。
很多人在搜问题时没注意看条件,导致使用了并不适用于自己的错误方案。

要想问题少,推荐使用HBuilderX完成一切工作,包括创建项目、运行编译、云打包app。
因为在这套体系里,官方会对很多常见的问题做出提醒和引导,减少问题的概率。随着HBuilderX的升级,uni-app编译器、真机运行基座、云打包引擎都会升级。

版本列表

下面提供 uni-app 开发中各产品的版本对应表:

11 关注 分享
Trust 萌龙 DCloud_HB_WDL 5***@qq.com yqs 杨大宝 8***@qq.com albearcat 2***@qq.com 风云杭州 南黎

要回复文章请先登录注册

5***@qq.com

5***@qq.com

您好,我的开发工具HbuilderX从2.2.0版本升级到2.3.7版本之后,在ios13上出现,cookie前后不一致,导致无法使用cookie验证用户,可以回答一下吗
2019-11-04 12:58
yxcm186

yxcm186

您好,我最开始使用的 2.1.4.20190728-alpha 进行编写app 在控制太可以打印数组,对象等,,后来升级后,发现没法打印了,并且有的数据无法正常使用了。感觉就像有的数组对象明明有值,但是又获取不到值,我就退后了版本2.1.4继续使用,云打包时虽然提示服务版本不一致,当时是服务器撒版本的忘了,打包出来的都是可以正常使用,刚也在云打包以后发现,无法使用了,控制的打印开始为空,了导致我数据没法使用,,现在有点不知道如何解决了,麻烦您给个建议,谢谢您了
2019-08-30 21:22
SimpleJalon

SimpleJalon

回复 9***@qq.com :
更新HX就是了
2019-07-20 22:18
9***@qq.com

9***@qq.com

如何更新编译器版本
2019-07-20 21:56
DCloud_heavensoft

DCloud_heavensoft (作者)

回复 薄荷味的雪 :
客户端引擎的版本升级,会先在HBuilderX alpha版里升级,供大家体验。如无问题会更新正式版
2019-04-20 21:25
6***@qq.com

6***@qq.com

按理应该是sdk先行,然后更新版本
2019-04-19 12:16
薄荷味的雪

薄荷味的雪

为啥sdk的版本升级一般滞后HBuilderX正式版升级一两天?不能够等SDK验收通过后再和HB一起同步更新吗
2019-04-18 11:01
hhyang

hhyang

支持一波
2019-04-17 18:08