1.备份原来的项目
2.创建新的uniapp项目
选择默认结构创建项目;选择对应的vue版本号(我选的是vue2),点击创建
3.复制mpvue项目的src和static文件夹下的目录到uniapp新目录
首先删除uniapp项目目录下的index文件夹,然后将mpvue项目里src/pages目录里的文件夹全部复制过去。然后将components、utils、config,node_modules文件夹复制到uniapp根目录下面,将uniapp中的static文件使用mpvue中的static替换掉,前后变化
同时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的页面
5.调整目录结构
由于4中已经配置完毕,所以删掉无用的文件 将uniapp中pages下的每个文件夹下的main.js删除掉,然后将把每个文件夹下Index.vue改名为main.vue 改变前后
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中
打开微信开发者工具中的设置=》安全设置=》将服务端口打开
8.运行
然后在uniapp上运行运行到微信开发者工具
9.解决文件路径和插件引入报错问题
在8中开始运行,运行肯定会报错,依次解决,首先是文件的导入会提示找不到,然后根据报错然后依次修改文件引入的路径。另外就是插件的问题,可以根据报错的信息,去网上查找替代方案,例如wxparse这个插件,mpvue中是直接导入的
而uniapp则需要使用其它方式,需要在hbuilder中打开manifest.json文件,切换到源码视图,然后添加代码
"wxparserPlugin": {
"version": "0.3.1",
"provider": "wx9d4d4ffa781ff3ac"
}
然后在page.json中找到你要引入wxParser插件的页面,然后输入以下代码,就可以根据方法使用了
"usingComponents":{ "wxparser": "plugin://wxparserPlugin/wxparser" }
解决完上面的问题就可以运行了,运行后的其它问题
10.解决问题
- tabbar消失问题 解决:将mpvue中的main.js中的tabBar对象移动到 uniapp中的pages.json中,与pages同级,重新编译就可以解决这个问题了。
- 布局混乱问题 查找到原因是样式使用的是在js中获取的值,把长和宽保存到一个对象中了,因为使用的是vue2,所以是数据响应式问题,直接使用vue2通用解决方案就可以
this.$set("需要处理的对象","需要更新对象的key值","需要更新的value值")
替换前后