原生微信小程序转化uniapp项目的神操作

news2024/11/16 1:37:22

前言

可能有些朋友只知道能将uniapp编译成微信小程序,但是没想到原生微信小程序也能编译成uniapp项目,这里推荐一款【miniprogram-to-uniapp】小程序转换工具插件

原理

核心是使用Babel获取AST(词法分析),然后或使用Babel自带函数增删,或正则分析替换等等操作。
可能有的朋友觉得,这种为啥不是纯正则分析? 纯正则可以解决一部分问题,对于标签与标签内容,其实正则是很难进行区分的哈。

开始安装

步骤一

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

image.png

步骤二

在命令行里,运行【 wtu -V 】,执行结果如下

  • 没报错时

3a585e731e480db4e6da04a43523f87.png

  • 报错时
    45965cd019e14b49072260d4a45b406.png

输入set-ExecutionPolicy RemoteSigned

image.png

成功后生成新的文件夹

image.png

生成前旧的文件夹文件对比

image.png

image.png

处理迁移问题

js部分

1,删除 const app = getApp();

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

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

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

5,属性绑定从

attr=“{{ a }}”,改为 :attr=“a”

title=“复选框{{ item }}” 改为 :title=“‘复选框’ + item”

6、部分页面生命周期释义,详见页面生命周期

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

css部分

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

附言

  • vue h5项目转换uni-app指南:https://ask.dcloud.net.cn/article/36174

  • 微信小程序转换uni-app指南及转换器:https://ask.dcloud.net.cn/article/35786

  • wepy转uni-app转换器:https://github.com/zhangdaren/wepy-to-uniapp

  • 另一种有效的wepy转uni-app方法: https://ask.dcloud.net.cn/article/39125

  • mpvue 项目(组件)迁移指南、示例及资源汇总:https://ask.dcloud.net.cn/article/34945

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/184906.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何实现高质量的系统数据对接/API接口整合集成方案?

我们建立一个数字化系统可能会有跟别的系统进行数据对接的需要,而别人的数字化系统也有可能需要跟我们的系统进行数据对接,也可能我们开发了不同的网站,网站小应用之间需要进行数据对接。那么数据对接应该如何操作呢?怎么才能更好…

数据分析:SQL和Python

SQL 统计数据概况:计算样本总数、商家总数、用户总数、消费总数、领券总数等 selectcount(User_id) as 样本总数,count(distinct Merchant_id) as 商家总数,count(distinct User_id) as 用户总数,count(Date) as 消费总数,count(Date_received) as 领券总数,(sele…

高级Spring之Aware 接口

Aware 接口功能阐述: Aware 接口提供了一种【内置】 的注入手段,例如 a.BeanNameAware 注入 bean 的名字b.BeanFactoryAware 注入 BeanFactory 容器 c.ApplicationContextAware 注入 ApplicationContext 容器 d.EmbeddedValueResolverAware 注入 ${} 解…

力扣并查集

目录 1,路径压缩查找 323. 无向图中连通分量的数目 990. 等式方程的可满足性 200. 岛屿数量 419. 甲板上的战舰 695. 岛屿的最大面积 733. 图像渲染 1992. 找到所有的农场组 947. 移除最多的同行或同列石头 1020. 飞地的数量 547. 省份数量 827. 最大人…

浅谈对 Binder 的理解

文章目录Binder 是干嘛的?Binder 的意义binder 的通信架构如何启动 binder 机制binder 通信binder 驱动的分层架构图需要了解的知识 binder 是干嘛的binder 的存在意义是怎样的Android 为什么选择 binder 作为主要的 ipc 通信机制?binder 的架构 Binde…

Vue 3 介绍

Vue 3 介绍Vue3 动机 和 新特性Vite 的使用为什么选 Vite为什么要学习 vue 3Vue是国内最火的前端框架Vue 3 于 2022 年 2 月 7 日星期一成为新的默认版本!Vue3性能更高,体积更小Vue3.0在经过一年的迭代后,越来越好用 目前已支持 vue3 的UI组…

Python简介安装与PyCharm安装使用

一、Python简介 Python官方文档:https://docs.python.org/zh-cn/3/ Python 3.x 已经将 UTF-8 作为默认的源文件编码格式。 1、Python简介 Python 是一门开源免费、通用型的脚本编程语言,它上手简单,功能强大,坚持「极简主义」&am…

Visual Studio Code (VS Code) - 列块编辑与查找

Visual Studio Code (VS Code) - 列块编辑与查找1. 列块选择 Shift Alt 鼠标左键,进行列编辑,批量增删改。 在选定位置按下滚轮键 (鼠标中键) 不放,移动鼠标完成多列选择。 2. 页面双列布局 查看 -> 编辑器布局 -> 双列 3. 查…

linux使用ZLMediaKit搭建rtsp服务器

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。 致敬rtsp 服务器搭建_音视频开发老马的博客-CSDN博客_rtsp服务器 这里是参考上面链接的介绍再进行一些自己遇到的问题的补充。 一…

一种化学荧光探针945928-17-6,TAMRA alkyne,5-isomer,四甲基罗丹明-炔基

【中文名称】5-四甲基罗丹明-炔基【英文名称】 TAMRA alkyne,5-isomer【CAS】945928-17-6【分子式】C28H25N3O4【分子量】467.53【纯度标准】95%【包装规格】5mg,10mg,25mg【是否接受定制】可进行定制,定制时间周期上面可以和我们进行沟通【外…

redis常用数据类型和应用场景

我们都知道 Redis 提供了丰富的数据类型,常见的有五种:String(字符串),Hash(哈希),List(列表),Set(集合)、Zset&#xff0…

稀疏表(ST表,Sparse Table)

ST表用来解决区间最值问题(也可以解决区间gcd) 利用倍增的思想,O(nlog⁡2n)O\left(n\log_2 n\right)O(nlog2​n)预处理,O(1)O\left(1\right)O(1)区间查询 令f(i,j)f\left(i,j\right)f(i,j)表示区间[i,i2j−1]\left[i,i2^j-1\right…

TypeScript 学习笔记总结(二)

TypeScript 笔记记录,侧重于接口,对象等内容。 文章目录一、 TS 面向对象二、TS 类三、TS 继承四、TS super关键字五、TS 抽象类六、TS 接口七、TS 属性封装八、TS 泛型一、 TS 面向对象 js也是面向对象的,并不是面向过程的。 下面&#xf…

虹科案例 | AR数字化解决方案在石油与天然气领域“大放异彩”

石油和天然气在当今人类社会中扮演着重要角色,但是石油和天然气的开采,却是耗费成本巨大的工程,石油和天然气公司也在不断寻找着能帮助他们降低运营成本并提高效率的好方法。 事实上,AR技术解决方案能帮助这些公司实现他们的目标…

Linux[安装gitlab笔记]

参考文章:https://www.jianshu.com/p/2cb10c11813d CentOS7下安装gitlab中文版 前提: 下载文件:gitlab-ce-12.9.2-ce.0.el7.x86_64.rpm 地址1:https://packages.gitlab.com/gitlab/gitlab-ce 地址2:https://mirrors.…

JVM——类加载与字节码技术(3)

目录四、类加载阶段4.1 加载4.2 链接4.3 初始化五、类加载——练习练习1练习2四、类加载阶段 4.1 加载 ① 将类的字节码载入方法区(1.8后为元空间,在本地内存中)中,内部采用 C 的 instanceKlass ● _java_mirror 即 java 的类镜…

大数据技术架构(组件)10——Hive:集合函数类型转化函数

1.4.3、集合函数1.4.3.1、size select map(a,1,b,2),size(map(a,1,b,2)),array(1,2,3,4),size(array(1,2,3,4));1.4.3.2、map_keysselect map(a,1,b,2), map_keys(map(a,1,b,2));1.4.3.3、map_valuesselect map(a,1,b,2), map_values(map(a,1,b,2));1.4.3.4、array_containssel…

中国国际电子商务中心与易观分析联合发布:2022年3季度全国网络零售发展指数同比增长1.5%

近日,中国国际电子商务中心与易观分析联合发布2022年3季度“全国网络零售发展指数”及其分指数。2022年3季度全国网络零售发展指数同比增长1.5%,环比下降2.9%。随着稳经济一揽子政策和接续措施全面落地显效,生产加快回暖,经济平稳…

vmstat、free、df、iostat、sar

1. vmstat看CPU vmstat -n 2 3 一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数单位是秒,第二个参数是采样的次数 -procs r:运行和等待CPU时间片的进程数,原则上1核的CPU的运行队列不要超过2,整个…

Softing为Endress+Hauser提供过程自动化连接解决方案

一 背景 恩德斯豪斯(EndressHauser)是一家总部位于瑞士的过程工业自动化解决方案的全球领军企业,致力于为过程工业及实验室自动化领域提供测量仪器、服务和解决方案。其产品被广泛应用于石油、化工、制药、食品饮料以及废水处理等过程自动化…