每一年都奔走在自己热爱里

没有人是一座孤岛,总有谁爱着你

微信小程序转换成uniapp项目

1. 把微信小程序转换成uniapp项目

1.1 安装miniprogram-to-uniapp 插件

打开cmd,运行【 npm install miniprogram-to-uniapp -g 】进行安装,因为这个包是工具,要求全局都能使用,所以需要-g进行全局安装。

npm install miniprogram-to-uniapp -g

如果运行npm报错,请先安装Node.js,下载地址:https://nodejs.org/zh-cn/

1.2 查看是否安装成功

wtu -V

1.3 其他方式及文档

1. GitHub开源地址:https://github.com/zhangdaren/miniprogram-to-uniapp

2. uni-app官网:https://uniapp.dcloud.net.cn/

3. DCLOUD提供的插件市场配合HBuilderX使用:https://ext.dcloud.net.cn/plugin?id=2656

4. miniprogram-to-uniapp插件使用介绍:https://ask.dcloud.net.cn/article/36037

2. 使用插件进行转换(转换完成会在同目录下生成:文件名_uni 的文件夹)

2.1  注意事项

每次转换时都会将输出目录清空,可能导致代码丢失,请注意代码备份/保存!!!!!!!

因为这种转换非100%,所以转换之后需要手动更改部分代码!!!

2.2 开始转换

打开cmd,输入【wtu -i "你的小程序项目路径"】

wtu -i "你的小程序项目路径"

2.3 转换可能需要更改的地方

1. js部分

1.删除 const app = getApp();

2.以 wx. 开头的方法更新为 uni. 开头

3.数据绑定 this.setData({ a : 1 }) 更新为 this.a = 1

4.路由跳转 wx.navigateTo()  更新为uni.navigateTo()

5.onLoad(options)
通过options或this.$Route.query获取页面传递参数

6、部分页面生命周期释义,详见页面生命周期
onPullDownRefresh:监听用户下拉动作,一般用于下拉刷新
onReachBottom:页面滚动到底部的事件(不是scroll-view滚到底),常用于下拉下一页数据
onShareAppMessage:用户点击右上角分享
onPageScroll:监听页面滚动

 

2. templete

以下几条不影响使用,改不改都行

<block>标签可能是小程序<block>标签或templete模版转换生成的,有的页面转完后可能有多层<block>嵌套的情况,不影响使用,但是不代码太美观,修改的话<block> 标签替换为 <templete> 标签,样式估计也需要调整
页面事件 
例如 <view @tap="clickBtn" data-id="id">点击</view> ,页面转换完使用没问题,但是和平常开发vue不一样,
更新的话可以改为<view @click="clickBtn(id)">, 在修改对应方法即可
引入wxs的页面 <script module="utils" lang="wxs" src="./utils.wxs"></script> 大部分方法可改为 computed、watch,=

 

3. css部分

css转换可能失败,大部分是单位转换失败,原px乘2,改为rpx即可
盒子模型的问题(小程序默认content-box,uniapp默认样式border-box),修改box-sizing即可



posted @ 2023-09-19 16:12  helloliyh  阅读(585)  评论(0编辑  收藏  举报