如何react多端统一框架Taro开发外卖系统?

Taro框架基础知识

简介

Taro 是一套遵循 React 语法规范的多端开发解决方案。

现今市面上端的形态多种多样,Web、React-Native、微信小程序等各种端大行其道,当业务要求同时在不同的端都要求有所表现的时候,针对不同的端去编写多套代码的成本显然非常高,这时候只编写一套代码就能够适配到多端的能力就显得极为需要。

使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信/百度/支付宝/字节跳动/QQ小程序、快应用、H5、React-Native 等)运行的代码。

环境搭建

  1. 安装 Taro 脚手架工具
    npm install -g @tarojs/cli
  2. 初始化项目
    taro init taro-orderFood
  3. 安装 Taro UI
    cd taro-orderFood
    npm install taro-ui
  4. 配置需要额外编译的源码模块
    由于引用 node_modules 的模块,默认不会编译,所以需要额外给 H5 配置 esnextModules,在 taro 项目的 config/index.js 中新增如下配置项:
    h5: {
    esnextModules: [‘taro-ui’]
    }
  5. 编译dev环境代码
    WEB: num run dev:h5
    微信小程序:num run dev:weapp
    支付宝小程序:num run dev:swan
    百度小程序:num run dev:alipay
    等等

外卖系统开发

视觉设计稿

### 拆分设计稿 1、头部(components/head) ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly90dmExLnNpbmFpbWcuY24vbGFyZ2UvMDA2dE5iUndneTFnYm4xcGoxaHoyajMwa3UwOWswdTMuanBn?x-oss-process=image/format,png) * 导航栏(Top),有两个文件。 top.jsx ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly90dmExLnNpbmFpbWcuY24vbGFyZ2UvMDA2dE5iUndneTFnYm4yYTEzbG8zajMxMmkwazRxNDQuanBn?x-oss-process=image/format,png) top.less ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly90dmExLnNpbmFpbWcuY24vbGFyZ2UvMDA2dE5iUndneTFnYm4yZjNpb3p1ajMwZnEwdTQ3NHIuanBn?x-oss-process=image/format,png) * 店铺介绍(head) head.jsx ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly90dmExLnNpbmFpbWcuY24vbGFyZ2UvMDA2dE5iUndneTFnYm4ybzU4NXp4ajMxMXQwdTBnbmIuanBn?x-oss-process=image/format,png) head.less ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly90dmExLnNpbmFpbWcuY24vbGFyZ2UvMDA2dE5iUndneTFnYm4ycTZrMWxlajMwaGsxNTZqc2UuanBn?x-oss-process=image/format,png) * 活动(activity) activity.jsx ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly90dmExLnNpbmFpbWcuY24vbGFyZ2UvMDA2dE5iUndneTFnYm4yazJxZ2ltajMwdTAwd3pteXIuanBn?x-oss-process=image/format,png) activity.less ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly90dmExLnNpbmFpbWcuY24vbGFyZ2UvMDA2dE5iUndneTFnYm4ybW1ybWNhajMwZm0wb2kzejIuanBn?x-oss-process=image/format,png)

2、中间部分(components/food)

  • 菜品
    food.jsx

    food.less

  • 分类
    category.jsx

    category.less

  • 菜品列表
    foodlist.jsx

    foodlist.less

3、底部部分(components/bottom)

  • bottom.jsx

    bottom.less

4、加菜按钮(components/addfood)

  • addfood.jsx

    addfood.less

5、工具类(utils)

  • common.jsx


    events.jsx

6、项目入口

  • index.jsx

总结

第一版就是实现一个外卖系统的的点菜功能,可以对菜进行点菜添加或者减少。以及相关样式的展示。

后续

  1. 添加redux
  2. 抽离UI当中的逻辑,更好的解耦
  3. 添加网络框架
  4. 添加上拉加载更多,下拉刷新等
  5. 屏幕适配

Demo地址

https://github.com/YuriyPikachu/taro-orderFood

了解更移动开发知识,欢迎关注公众号:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值