mpvue项目迁移到uniapp过程记录

653 阅读3分钟

1.备份原来的项目

2.创建新的uniapp项目

选择默认结构创建项目;选择对应的vue版本号(我选的是vue2),点击创建 image.png

3.复制mpvue项目的src和static文件夹下的目录到uniapp新目录

首先删除uniapp项目目录下的index文件夹,然后将mpvue项目里src/pages目录里的文件夹全部复制过去。然后将components、utils、config,node_modules文件夹复制到uniapp根目录下面,将uniapp中的static文件使用mpvue中的static替换掉,前后变化

image.png

image.png

同时node_modules也可以使用其它方法进行迁移

npm init -y

在项目根目录执行命令安装npm包,手动安装的模块版本要和原项目保持一致,我是直接复制的node_modules文件。

4.调整配置文件

打开uniapp的pages.json,把mpvue的dist/app.json下的pages复制过来,按照uniapp的格式放置,然后将mpvue项目中pages下的每个页面中的main.js黏贴到uniapp的pages.json中的pages下面,与路径合并,变更后uniapp的页面

image.png

5.调整目录结构

由于4中已经配置完毕,所以删掉无用的文件 将uniapp中pages下的每个文件夹下的main.js删除掉,然后将把每个文件夹下Index.vue改名为main.vue 改变前后

image.png

image.png

6.复制App.vue和main.js

将mpvue里App.vue的css和js复制到到uniapp的App.vue,将mpvue的main.js里的内容也复制到uniapp的main.js中

7.配置uniapp

配置小程序的appID,将小程序appID配置到manifest.json中 image.png 打开微信开发者工具中的设置=》安全设置=》将服务端口打开

image.png

8.运行

然后在uniapp上运行运行到微信开发者工具

image.png

9.解决文件路径和插件引入报错问题

在8中开始运行,运行肯定会报错,依次解决,首先是文件的导入会提示找不到,然后根据报错然后依次修改文件引入的路径。另外就是插件的问题,可以根据报错的信息,去网上查找替代方案,例如wxparse这个插件,mpvue中是直接导入的

image.png

而uniapp则需要使用其它方式,需要在hbuilder中打开manifest.json文件,切换到源码视图,然后添加代码

	  "wxparserPlugin": {
		 "version": "0.3.1",	
		 "provider": "wx9d4d4ffa781ff3ac"
	  }

image.png 然后在page.json中找到你要引入wxParser插件的页面,然后输入以下代码,就可以根据方法使用了

"usingComponents":{ "wxparser": "plugin://wxparserPlugin/wxparser" }

image.png 解决完上面的问题就可以运行了,运行后的其它问题

10.解决问题

  • tabbar消失问题 解决:将mpvue中的main.js中的tabBar对象移动到 uniapp中的pages.json中,与pages同级,重新编译就可以解决这个问题了。
  • 布局混乱问题 查找到原因是样式使用的是在js中获取的值,把长和宽保存到一个对象中了,因为使用的是vue2,所以是数据响应式问题,直接使用vue2通用解决方案就可以
 this.$set("需要处理的对象""需要更新对象的key值""需要更新的value值")

image.png

image.png 替换前后

image.png

11. 项目迁移完成