浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑


Posted in Javascript onSeptember 12, 2020

1.打包项目

期间遇到的坑,提前说下,避免重复工作。

1.1打包的app出现白屏。

出现原因:路径不对,需要改config\index.js

解决办法:修改打包的路径。

浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑

1.2点击页面跳转不了,报 Loading chunk 2 failed. 等错误。

出现原因:不能用history配置路由,要用hash

解决办法:修改路由mode属性为hash。

浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑

1.3.点手机物理按钮,直接退出程序。

出现原因:无理返回键直接用监听不到路由,会直接退出程序。

解决办法:可以引入mui,就能正常使用了。

1.在webpack.base.conf.js里面引入mui。(图一)

2.下载mui相关文件,在main.js里面引入。(若需要使用mui其他方法,请自行查阅资料)(图二)

3.这个时候,引入mui可能会报错,我们需要修改一些文件。(图三)

浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑

(图一)

浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑

(图二)

浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑

(图二)

浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑

浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑

(图三)

2.Hbuilder发布

2.1创建项目5+App项目

浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑

2.2 替换文件

先删除默认的css、img、js、index.html等无用默认文件。再将打包好的dist文件夹下的static和index.html文件,放至新建的项目下。

相关app的配置可自行在manifest.json中修改,这里不做详细说明。

浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑

2.3利用云打包发布APP

如有证书,就填写证书等信息,若没有可临时用Dcloud公用证书。

填完信息,点击打包即可,之后就等待打包生成app的下载链接,进行下载安装啦。

浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑

浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑

个人记录~

补充知识:记录 vue项目打包放入 hbuilder 做app真机测试时 无法请求后台服务接口

1.因为发布app时 vue开发模式下配置的跨域是无效的,打包后会找不到接口

例如下面是之前的错误版:

'/propertyCmsAPI': {
    target: 'http://192.168.1.111:9001/',
    changeOrigin: true,
    pathRewrite: {
     '^/propertyCmsAPI':''
    }
   },

在使用时:

export const logout = params =>{return axios.post(`/propertyCmsAPI/notIntercept/logout`,params)};

这种方法在网页端打包是没有问题的,只需要在nginx 里配置下跨域就可以访问。

但是在做app时这样是访问不到数据的,因为不存在跨域的说法,打包成app后实际访问的路径就是 /propertyCmsAPI/notIntercept/logout ,这样会找不到接口,要采用绝对路径的方式,

例如:http://192.168.1.111:9001/notIntercept/logout,这样才能访问,不管你怎样配置管理你的请求api,这个是必须得,

下面是我更改后的做法正确版,完全适用:

let propertyCmsAPI = "http://112.74.126.167:9001";//打包APP时使用

// let propertyCmsAPI = "propertyCmsAPI";

分为开发模式和打包模式,然后统一管理所有请求api:

浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑

其他应该还有更好的方法,懒得研究了,目的已达到,效果已实现即可。

这一切弄好了之后就是打包,然后放入Hbuilder 编辑器进行联机测试,

2.联机测试:

安卓机,真香

1.只需要把你的手机通过USB连接电脑,2.打开手机的开发者模式,3.选择USB可以传输文件,4.打开USB调式模式,5.确认电脑可以访问该手机。

只要在hbuilder 运行里 找到你的手机点击运行就可以,会在手机安装测试app,接下来就可以测试了,很给力

苹果机,真臭

手机电脑连接苹果手机要什么鬼itues ,老子光是安装这个玩意都整了一个小时才让电脑连上手机,这个先不提

在hbuilder运行里找到iPhone点击运行后,会安装测试app,然后你要在 设置-通用里管理这个app,要选择信任才行,否则你是打不开你的测试app的

打开app后最最操蛋的事情是他丫的居然访问不了接口,控制台打印拦截器的请求信息,响应信息,发现点击请求后直接就进入catch了,根本不执行请求,错误提示就一个newwork error ,就这一个问题,整了一下午

各种搜索,百度,包括hbuilder官网给出的解决问题的方法,在原vue项目中又是引入qs ,又是引入es6-primse,然并卵

最后的最后在项目的manife.json配置中添加了一个配置:在plus的下面

"kernel":{
 "ios":"UIWebview"
},

不是专业app开发,表示不懂,问题解决,记录下日志

以上这篇浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery创建平滑的页面滚动(顶部或底部)
Feb 26 Javascript
通过Jquery的Ajax方法读取将table转换为Json
May 31 Javascript
javaScript实现滚动新闻的方法
Jul 30 Javascript
JavaScript html5 canvas绘制时钟效果
Mar 01 Javascript
JS & JQuery 动态添加 select option
Jun 08 Javascript
输入框点击时边框变色效果的实现方法
Dec 26 Javascript
原生js实现旋转木马轮播图效果
Feb 27 Javascript
Bootstrap fileinput文件上传预览插件使用详解
May 16 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
Nov 03 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
May 09 jQuery
JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例
Jul 30 Javascript
layui2.0使用table+laypage实现真分页
Jul 27 Javascript
解决vue项目 build之后资源文件找不到的问题
Sep 12 #Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
Sep 12 #Javascript
vue v-on:click传递动态参数的步骤
Sep 11 #Javascript
vue Cli 环境删除与重装教程 - 版本文档
Sep 11 #Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
Sep 11 #Javascript
请求时token过期自动刷新token操作
Sep 11 #Javascript
vue+axios 拦截器实现统一token的案例
Sep 11 #Javascript
You might like
php使用多个进程同时控制文件读写示例
2014/02/28 PHP
php中调用其他系统http接口的方法说明
2014/02/28 PHP
php-redis中的sort排序函数总结
2015/07/08 PHP
文件上传之SWFUpload插件(代码)
2015/07/30 PHP
PHP实现移除数组中为空或为某值元素的方法
2017/01/07 PHP
PHP机器学习库php-ml的简单测试和使用方法
2017/07/14 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
PHP获取星期几的常用方法小结
2018/12/18 PHP
鼠标放在图片上显示大图的JS代码
2013/03/26 Javascript
在子窗口中关闭父窗口的一句代码
2013/10/21 Javascript
JavaScript知识点整理
2015/12/09 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
2017/08/14 jQuery
webpack将js打包后的map文件详解
2018/02/22 Javascript
Electron实现应用打包、自动升级过程解析
2020/07/07 Javascript
Python批量修改文件后缀的方法
2014/01/26 Python
举例讲解Python中装饰器的用法
2015/04/27 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
python3.6使用urllib完成下载的实例
2018/12/19 Python
python flask安装和命令详解
2019/04/02 Python
Python中一个for循环循环多个变量的示例
2019/07/16 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
使用Python FastAPI构建Web服务的实现
2020/06/08 Python
html5 canvas移动浏览器上实现图片压缩上传
2016/03/11 HTML / CSS
韩国家庭购物网上商店:Nsmall
2017/05/07 全球购物
Manuka Doctor英国官网:真正的麦卢卡蜂蜜和护肤品
2018/10/26 全球购物
PyQt QMainWindow的使用示例
2021/03/24 Python
残疾人创业典型事迹
2014/02/01 职场文书
党员公开承诺践诺书
2014/03/25 职场文书
法院四风对照检查材料思想汇报
2014/10/06 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
2015年班组建设工作总结
2015/05/13 职场文书
《所见》教学反思
2016/02/23 职场文书
使用feign服务调用添加Header参数
2021/06/23 Java/Android
dubbo服务整合zipkin详解
2021/07/26 Java/Android
Vue3如何理解ref toRef和toRefs的区别
2022/02/18 Vue.js