开始

最近有个需求,需要将微信小程序中一些页面和功能改成h5,这次功能开发的时间有点紧,而且重新写一套有点来不及。考虑到微信小程序与uni-app有着一些共通之处,所以打算直接转成uni-app。uni-app官网上也有从微信小程序项目转uni-app的教程:https://github.com/zhangdaren/miniprogram-to-uniapp ,
不过我这里直接用上了大佬开源的miniprogram-to-uniapp转换工具。
github: https://github.com/zhangdaren/miniprogram-to-uniapp
教程:https://ask.dcloud.net.cn/article/36037

使用MINIPROGRAM-TO-UNIAPP

  1. 直接全局安装
npm install miniprogram-to-uniapp - g

  1. 因为工具更新的比较频繁,所以安装后建议更新
npm update miniprogram-to-uniapp -g

  1. 转换微信小程序项目,顺带将wx.xx转为uni.xxx。具体可以查看文档
wtu -i 'E:\project\miniprogram-project' -r

  1. 转换成功后,会在项目同级目录下生成一个miniprogram-project_uni的目录

转换后的一些问题

  1. 小程序的bingtap会转成@tap,问题不大,不过最好改成@click。
  2. 组件上的动态props参数没有通过v-bind绑定
  3. 小程序的自定义组件,props是可以在子组件内修改的, 但是转成uni-app是不能直接在子组件修改props。
  4. 子组件内,工具转换后的this.setData的兼容方法,更新值的时候不会触发watch,要把this.setData改回vue的this.xxx=xxx;
  5. @catchtouchmove的防止触摸穿透,可以改成@touchmove.stop.prevent=“moveHandle”
  6. hidden="hidden"改成v-show
  7. 图片的路径在转换中可能也会出错
  8. 本地调试时调用接口会出现跨域。可以在manifest.json文件源码视图,配置h5的devServer:
"h5": {"devServer": {"port" : 80,"disableHostCheck" : true, // 跳过host检查"proxy" : {"/api" : {"target" : "https://abc.com",  // 目标域名"changeOrigin" : true,    // 允许跨域"secure" : false,// 设置支持https协议的代理"ws" : false,//没有该配置将出现:WebSocket connection to ws 错误提示"pathRewrite" : {  //如果不希望传递/api,则需要重写路径"^/api" : ""}}},}
}

uni-app也是webpack打包,实际跟vue是差不多的,具体配置可以查阅 webpack-dev-server

H5打包部署的问题

  1. h5打包之前,需要在manifest.json文件的h5配置中配置相关规则:

  2. 点击工具栏发行—》h5手机版发行,填入网站标题和域名,接着等发布成功,会在unpackage中生成打包后的文件

  3. 因为我需要在微信浏览器打开,路径使用hash模式会带有#号,获取wx.config会失败,所以改成history的模式。

  4. history模式,部署需要后台在nignx配置。另外,页面打开,进入二级页面,刷新的时候会404,需要后台在nignx中配置伪静态,例如:

location / {try_files $uri $uri/ /aecGuide/h5/index.html;
}

使用UNI-SIMPLE-ROUTER

在uni-app中,如果不想用uniapp的路由管理,可以使用这个工具:uni-simple-router,其保留了vue-router的路由风格,可以使用其的API,也可以改成完全使用vue-router的路由管理方式,具体可以查看文档,文档写的蛮详细的

分享就先到这里,可以会有些错误,欢迎指正。后续会继续更新在项目中遇到的问题,谢谢

本文原链接:https://blog.csdn.net/Leo_xian/article/details/107709941

UNI-APP之微信小程序转H5相关推荐

  1. json 微信小程序 筛选_GitHub - zhengyangkang/sl-filter: uni -app 一款使用简单的筛选组件,适配app、微信小程序、H5。...

    sl-filter 筛选 筛选组件,组件名:sl-filter dcloud插件市场地址 sl-filter 简介 一款使用简单的筛选组件,适配app.微信小程序.H5. 感谢分享 效果图 并列菜单 ...

  2. uni app 开发微信小程序及上线体验

    uni app 开发微信小程序及上线体验 项目创建及微信小程序AppId的申请 本次开发的是电商类的微信小程序,这里用到的是HBuilderX这个编辑器.之前用的Visual Studio Code ...

  3. 记录uni.app开发微信小程序中地图的使用,以及项目中的解决办法

    标题先讲一下需求:需要获取用户的地址信息以及经纬度,并在地图中展示时出来 uniapp官方也提供了api uni.getLocation(OBJECT) getLocation只能获取用户的经纬度,不 ...

  4. app能不能跳转外部h5_轻羽微信小程序和H5的区别在哪里?主要有三点

    随着移动互联网的发展,许多应用在不断的产生,要说现在更新快.开放功能多的应用,只能是微信小程序了.微信小程序开放了60多个流量入口,更新了各种新的功能,尤其是之前实现的页面跳转功能,给开发者带来了好消 ...

  5. APP、微信小程序、网页H5

    APP.微信小程序.网页H5之间区别 1.APP 使用条件:苹果要去app store搜索下载,安卓需要在各应用商店搜素下载 更新条件:如需要修改内容,需要通过第三方审核 应用场景:适用于有较大流量, ...

  6. uni-app开发微信小程序,H5 关于压缩上传图片的问题

    文章目录 前言 一.为什么要压缩图片 二.图片压缩方式 1. 微信小程序​​​​​​​ 2. H5 总结 前言 关于微信小程序.H5兼容性问题,今天就压缩以及上传图片做一个可实现方法的简要阐述. 一. ...

  7. 微信小程序PHP文件建在哪里,微信小程序解析H5文件方法

    经常有网友问怎么让微信小程序解析H5文件或者类似封装H5网页到APP里面?我一开始觉得这是不可能的,因为官方的解答是这样的: 每一个小程序页面是由同路径下同名的四个不同后缀文件的组成,如:index. ...

  8. 开发APP、微信小程序、网页,都需要什么?

    开发APP,微信小程序,网页都需要什么? 准备工作 前端开发 后端开发 技术整合 打包上线 结语 在开始介绍之前,我先罗列一下APP,微信小程序,网页的大比较 准备工作 云服务器,域名(需备案),SS ...

  9. uniapp一套代码开发app和微信小程序

    为什么选择uniapp开发? 为什么选择uniapp进行开发? 1.uniapp对于独自开发是相当友好的,一套代码可以兼容app(安卓,ios),小程序,h5等,一定程度上降低了开发的成本,个人开发的 ...

  10. 微信小程序和H5网页之间有什么区别?

    微信小程序和H5网页之间有什么区别 本博主语录:小程序和H5网页的主要开发语言都是 JavaScript ,所以通常小程序的开发会被用来同普通的网页开发来做对比.两者有很大的相似性,对于前端开发者而言 ...

最新文章

  1. mysql多列索引用处_MySQL索引使用说明(单列索引和多列索引)
  2. 修改docker 的挂载路径 Root Dir
  3. shiro+redis多次调用doReadSession方法的解决方案
  4. android http请求缓存,Android Http请求和响应使用协议缓冲区
  5. Spring与Rails的jQuery UJS
  6. 山师计算机专业研究生怎么样,山东师范大学有计算机专业硕士吗?
  7. 小程序转h5之后 vant文件查找失败:_你还在使用原生开发小程序吗
  8. awss3 android,aws s3 命令
  9. java和php区别吗_请说说Java和PHP的区别
  10. 陶老师ESD、EMI、EMC讲座
  11. micropython logging文档
  12. PS 图片背景变为透明
  13. 什么是现汇买入价、现钞买入价、卖…
  14. java list 子集_Java——List方法,获取子集
  15. 超详细一文到底!软件测试基本流程
  16. 2020年,多源域适应(域迁移) MDA最新方法总结综述
  17. 深大uooc大学生心理健康章节答案第四章
  18. Dynamic Slimmable Network
  19. readline函数 读取一行数据
  20. Cassandra介绍和一些常用操作

热门文章

  1. 外贸行业网站的seo优化推广怎么做?优化技巧详解
  2. 走出abstract class与interface的困惑
  3. DOCKER04_详解Dockerfile基本指令、FROM、LABEL、RUN、CMD、ENTRYPOINT、ARG、ENV、VOLUME、USER
  4. 难道是C3p0的问题
  5. Linux内核分析第二周:操作系统是如何工作的
  6. 真正可以根治高度近视眼的方法(转载)
  7. 未上线PP模块的生产领料处理
  8. 基于深度学习的图像语义分析及其应用
  9. Unity Shader 颜色混合
  10. CentOS 6.4 安装极点五笔输入法