公告:uni-app将于2019年11月1日起停止支持非自定义组件模式
非自定义组件作为一种被淘汰的技术,为了向下兼容,一直保留在uni-app的核心代码中。
目前uni-app的编译模式过多:有非自定义组件模式、自定义组件模式;有nvue、有vue;nvue有weex编译模式、有uni-app编译模式;还支持纯nvue编译模式。
太多历史兼容,导致编译器复杂度太高,代码冗余很多。
目前在App、微信小程序、百度小程序、支付宝小程序、头条小程序上,仍然有部分开发者一直未升级到自定义组件模式。请开发者快速升级。
uni-app将于2019年11月1日起停止支持非自定义组件模式,届时,新版HBuilderX真机运行和云打包,都不再支持非自定义组件模式。HBuilderX的云打包,只向下保留2个版本。再升级1个版本后,老版打包机也不再支持非自定义组件模式。
升级自定义组件模式,开发者将得到更好的应用性能、更便利的调试体验。
升级方式
在manifest.json可配置编译模式。
- 方式1. 可视化界面
在App、微信、百度、支付宝、头条小程序配置界面,勾上自定义组件编译模式
- 方式2. 源码视图
如下:{ "name" : "", "appid" : "", "app-plus" : { "usingComponents" : true }, "mp-weixin" : { "appid" : "", "usingComponents" : true }, "mp-alipay" : { "usingComponents" : true }, "mp-baidu" : { "usingComponents" : true }, "mp-toutiao" : { "usingComponents" : true } }
升级后,如代码运行异常,参考下文调整
https://ask.dcloud.net.cn/article/35851
如果你不知道自己是什么编译模式,通过以下方式查看:
打开manifest源码视图里,看每个平台下是否有 "usingComponents" : true。
如果值为true就是自定义组件模式。
如果值为false或没有该键名则为非自定义组件模式。
在HBuilderX 1.9.0.20190412以后新建的项目,默认都会添加自定义组件模式标记,之前的版本新建的项目,默认都是非自定义组件的。