uni-app:支持小程序(微信/支付宝/百度)、H5、App 多个平台 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hbcui1984
V2EX    Vue.js

uni-app:支持小程序(微信/支付宝/百度)、H5、App 多个平台

  •  
  •   hbcui1984 2019-01-09 18:00:17 +08:00 5014 次点击
    这是一个创建于 2541 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 2019 新年到来之际,uni-app 1.4 版本正式发布,新增支持百度、支付宝小程序,开放插件市场,同时注入更多优秀特性,为开发者送上了一份新年大礼!

    支持更多小程序平台

    uni-app 1.4 版本新增支持百度、支付宝小程序,从此一次开发,可发布小程序(微信 /支付宝 /百度)、H5、App ( iOS/Android ) 6 大平台!

    uni-appHBuilderX开发工具中有非常友好高效的支持,提供可视化操作菜单,发行各家小程序简单便利详情,这里不再赘述;本文主要说明如何通过vue-cli编译发行各家小程序。

    使用cli编译到各家小程序之前,需先安装vue-cli并创建uni-app项目,主要命令如下:

    # npm script # 全局安装 vue-cli $ npm install -g @vue/cli # 创建 uni-app 项目,会提示选择项目模板 $ vue create -p dcloudio/uni-preset-vue my-project # 进入项目目录 $ cd my-project 

    Tips:如果之前已使用过老版本的uni-app cli插件,则通过npmuni-app升级到最新版,即可获得将原有uni-app项目转换到各家小程序的能力

    支持支付宝小程序

    使用如下命令进行支付宝小程序的编译预览及发行打包

    # npm script # dev 模式,编译预览 $ npm run dev:mp-alipay # build 模式,发行打包 $ npm run build:mp-alipay 

    发行到支付宝小程序,需要你下载并打开支付宝小程序开发者工具,然后选择项目编译目录( dev 模式、build 模式编译目录不同,见下方说明)进行预览或发行。

    dev 模式 和 build 模式的区别:

    • dev 模式编译目录为项目根目录下的 /dist/dev/ 目录
    • build 模式编译目录为项目根目录下的 /dist/build/ 目录
    • dev 模式有 SourceMap 可以方便的进行断点调试
    • build 模式会将代码将会进行压缩,体积更小更适合发布为正式版应用

    目前 hello uni-app 已上线支付宝小程序,可以打开支付宝,扫描以下二维码进行体验:

    支持百度智能小程序

    百度智能小程序的编译方式与支付宝小程序一致,简单替换平台标识( mp-baidu )即可。

    你可以使用如下命令进行百度智能小程序编译预览及打包:

    # npm script # dev 模式,编译预览 $ npm run dev:mp-baidu # build 模式,发行打包 $ npm run build:mp-baidu 

    发行到百度智能小程序,需要你下载并打开百度开发者工具,然后选择项目编译目录进行预览或发行。

    Tips:dev 模式、build 模式差异同支付宝小程序

    支持通过 cli 命令行编译到微信小程序平台

    uni-app 很早就支持发行到微信小程序,但需在 HBuilderX 开发工具中操作;uni-app 1.4 版本支持通过vue-cli 编译到微信小程序,方式同支付宝小程序。

    你可以使用如下命令进行微信小程序编译预览及打包:

    # npm script # dev 模式,编译预览 $ npm run dev:mp-weixin # build 模式,发行打包 $ npm run build:mp-weixin 

    同样,发行到微信小程序,需要你下载并打开微信开发者工具,然后选择项目编译目录进行预览或发行。

    其它功能特性

    uni-app 插件市场上线了!支持前端组件、js sdk、页面模板、项目模板、原生插件等多种类型,还支持原生插件的云打包,详情

    插件市场作为轮子的需求者和制造者之间的对接平台,将提升所有 uni-app 开发者的效率和重用程度。

    另外,uni-app 1.4 版本在条件编译、H5 平台等方面也有大量改建,详见如下:

    • 新增 条件编译 static 支持平台目录,不同平台可定义自己的独有静态文件 详情
    • 新增 条件编译 支持多平台“或”运算符:||。例如: // #ifdef MP-WEIXIN || MP-BAIDU 代表在微信小程序和百度小程序均生效
    • 新增 条件编译 pages.json 支持条件编译。pages.json 里不引用的页面不会打包,可以更自由的管理不同平台文件的打包策略。
    • 修复 条件编译 使用 ifndef 导致编译错误的问题
    • 新增 manifest.json 中( mp-weixin 节点下) 新增 permission 配置,用于微信小程序接口权限相关设置
    • 新增 蓝牙相关 API 详情
    • 新增 低功耗蓝牙相关 API 详情
    • 新增 iBeacon 相关 API 详情
    • 优化 css 编译报错提示
    • 修复 v-for item 部分写法编译失败的问题
    • H5 平台 新增 canvas 组件和相关 API
    • H5 平台 优化 导航栏自定义按钮支持 float 属性
    • H5 平台 修复 uni.showModal 内容过多显示超出屏幕的问题
    • H5 平台 修复 picker 组件未设置 value 属性值时报错的问题
    • H5 平台 修复 TabBar 页面 onHide 钩子函数不触发的问题
    • H5 平台 修复 map 组件中 marker 图像不显示的问题
    • H5 平台 修复 AudioContext 事件监听报错的问题
    • H5 平台 修复 swiper 组件动态设置 current 后 swiper 不切换的问题
    • H5 平台 修复 swiper 组件设置属性 previous-margin、next-margin 显示异常的问题
    • H5 平台 修复 picker 组件显示的选中项不正确的问题 #103
    • H5 平台 修复 picker 组件动态设置高度后显示异常的问题
    • H5 平台 修复 radio 组件设置 color 属性不生效的问题 #119
    • H5 平台 修复 picker 组件 columnchange 事件不触发的问题

    未来规划

    uni-app 将尽快适配字节跳动小程序,并进一步抹平 H5、各家小程序之间的平台差异,让开发者尽可能的一套代码,顺滑的发行到多个平台。

    uni-app 在小程序端,引用和改造了mpvueMegalo,感谢美团点评团队、网易考拉团队对开源社区的贡献!

    uni-app会在开源的路上继续前行,为帮助uni-app更好的成长,更好的服务开发者,欢迎您给uni-app反馈改进意见,或 Star 鼓励。

    1 条回复    2019-09-17 23:44:53 +08:00
    xiaoyan2017
        1
    xiaoyan2017  
       2019-09-17 23:44:53 +08:00
    uni-app 自定义导航栏|仿微信、淘宝顶部导航效果
    https://blog.csdn.net/yanxinyun1990/article/details/100919657
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2951 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 12:27 PVG 20:27 LAX 04:27 JFK 07:27
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86