前端 Vue.js 快速开发微信小程序,基于 Vue 的小程(vue开发微信小程序实战)

Megalo 是基于 Vue(Vue@2.5.16)的小程序开发框架,让开发者可以用 Vue 的开发方式开发小程序应用。

Megalo 是为了跨 H5 和小程序两端的应用提供一个高效的解决方案,只需要少量改动即可完成 H5 和小程序之间的代码迁移。

Megalo 目前支持微信小程序、支付宝小程序、百度智能小程序。

DEMO:https://github.com/kaola-fed/megalo-demo

相比于其他小程序开发模式,由于支持更多特性,megalo 更贴近 Vue 原生的开发模式。

前端 Vue.js 快速开发微信小程序,基于 Vue 的小程(vue开发微信小程序实战)

项目地址:https://github.com/kaola-fed/megalo

码云极速下载地址:https://gitee.com/mirrors/Megalo

下面我们就来试试他的效果。

跟着文档走

官方文档的第一部分就是快速入门,顺藤摸瓜,构建一个 megalo 项目。

安装

$ npm install -g @megalo/cli

前端 Vue.js 快速开发微信小程序,基于 Vue 的小程(vue开发微信小程序实战)

构建

$ megalo megalo-yanxuan-demo

前端 Vue.js 快速开发微信小程序,基于 Vue 的小程(vue开发微信小程序实战)

打包

以微信小程序为入口

$ npm run dev:wechat

至此一个完整的 megalo 项目就构建好了,接下来我们开始转移源码

转移 weex 项目

我从以前 weex 的 demo 项目,yanxuan-weex-demo,为基础进行转移,转移过程中涉及到很多 weex 特有的 api 的移除和转换。

网络请求

以网络请求为例,weex 是使用的 stream

let stream = weex.requireModule(\’stream\’);

export default {

methods: {

GET (api, callback) {

return stream.fetch({

method: \’GET\’,

type: \’json\’,

url: api

}, callback)

}

}

}

因为小程序都有提供网络请求的 API,所以此处对此进行改造,如下

export default {

methods: {

GET (api, callback) {

let { platform } = this.$mp || {},

request = ()=>{}

switch(platform) {

case \’wechat\’:

request = wx && wx.request

break;

case \’alipay\’:

request = my && my.httpRequest

break;

case \’swan\’:

request = swan && swan.request

break;

default:

break;

}

request && request({

url: api,

success: callback

})

}

}

}

类似的还有 toast、message 等组件的改造。

组件

由于 weex 中的 <recycle-list>、<loading>、<refresh>、<scroller>等组件在小程序组件内是不存在的,所以有三种解决方案

  1. 自定义一个同名 vue 组件
  2. 找小程序可用的组件替换
  3. 实在不行就砍掉需求吧

比如 weex 的 <slider> 组件,可以用小程序的 <swiper> 替换,好在微信、支付宝和百度小程序都有支持。

css

Weex 容器默认的宽度 (viewport) 是 750px,小程序以 750rpx 为基。所以直接将需要的 px 转换成 rpx。

另外自己实现了 1 像素的 wpx,替换成 px 即可。

执行三端效果

最后看下改造效果。同时执行三端

效果比预想的要好,没有过多的适配出错

demo 源码

(https://github.com/zwwill/megalo-yanxuan-demo)抛给大家供大家把玩。

哪些可以转

只要现有工程没有做以下几件事,理论上,都是可以转移的,只需要稍微更新一下格式

  • 使用 megalo 暂不支持的 vue 特性
  • 涉及浏览器特有的 dom 操作,window、userAgent、location、getElementById 等
  • 使用第三方组件库且该组件库使用了 dom 操作
  • 使用了 vue-router,暂不支持
  • 全局使用 vuex

不过,方案都是可以调整的,以上功能在社区均可以找到替代方案。

换之即可。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月3日 上午11:36
下一篇 2023年4月3日 上午11:52

相关推荐

  • 项目实施方案(九)环境卫生管理制度及流程(环境卫生管理制度范本)

    (一)保洁工作 1、清洁卫生工作是物业管理工作的重要组成部分,也是最直观的工作,管理区给人的第一印象,就是清洁卫生的好与差,因此,保洁员的工作是光荣的,责任是重大的。 2、楼外保洁…

    科研百科 2023年12月24日
    69
  • 人力资源,如何才能真正赋能业务?(人力资源如何为业务赋能)

    (本文首发于“刘润”公号,订阅“刘润”公号,和我一起洞察商业本质) 我们常说,人,是企业最重要的资产。 管理,要以人为本。 但是,在今天,对于“人”的管理,总是会遇到各种各样的问题…

    科研百科 2022年7月20日
    143
  • 分享5款好评超多的修图APP,让你一秒出大片,换手机也要下载回来

    为什么别人一发朋友圈、微博就能获得大批的的点赞,评论还占了你一个版面的朋友圈。而你发的动态却没人点赞,没评论,就问你尴不尴尬,扎不扎心啊老铁。作为一天刷朋友圈频率高达100 的小编…

    科研百科 2023年5月8日
    71
  • 中铁四局科研项目成果

    中铁四局科研项目成果 中铁四局是一家具有悠久历史和优良声誉的中铁公司,其业务范围涵盖了土木工程、建筑工程、铁路工程、公路工程等多个领域。近年来,中铁四局在科研项目方面取得了一系列重…

    科研百科 2025年4月29日
    0
  • 与本 项目相关近期研究成果或前期准备

    标题:基于深度学习的自动化文本分类系统研究与应用 摘要:随着人工智能技术的不断发展,自动化文本分类系统已经成为自然语言处理领域中的一个重要研究方向。本研究基于深度学习技术,开发了一…

    科研百科 2024年10月8日
    15
  • 科研项目情况哪里查看

    科研项目情况哪里查看? 如果你想了解正在进行的科研项目,你可以通过多种方式查看相关信息。其中一种方式是访问科技领域的官方网站,例如中国科学院、中国工程院、美国国家科学基金会等。这些…

    科研百科 2025年3月1日
    1
  • ezone低代码

    ezone低代码:提升软件开发效率的新趋势 随着科技的不断发展,软件开发已经成为现代社会中不可或缺的一部分。然而,传统的软件开发过程往往需要大量的时间和资源,限制了企业的创新和发展…

    科研百科 2024年2月28日
    57
  • 文科研究性课题

    文科研究性课题 文科研究性课题是指那些涉及人类文化、历史、语言、艺术、哲学等学科的研究问题。这些研究问题往往需要深入探讨人类文化遗产的演变和发展,以及不同文化之间的差异和联系。 文…

    科研百科 2024年11月13日
    1
  • 项目管理系统app

    项目管理系统app:让项目管理更高效 随着现代软件开发的迅速发展,项目管理系统app已经成为项目管理中不可或缺的工具。一个好的项目管理系统app可以帮助开发人员更好地组织和管理项目…

    科研百科 2024年5月28日
    44
  • 企业员工培训《时间管理》PPT成品课件,带内容

    本期PPT课件主要介绍了: 为什么需要时间管理 时间及时间管理概述 时间管理的基本原理 时间管理的具体实施

    科研百科 2022年12月3日
    137