详解Vue webapp项目通过HBulider打包原生APP


Posted in Javascript onJune 29, 2018

Vue webapp项目通过HBulider打包原生APP

1、webapp项目已经通过vue-cli搭建的脚手架写好了,然后通过webpack打包成一个部署文件list,如下:

详解Vue webapp项目通过HBulider打包原生APP

2、打开HBulider,打开目录,选择这个list,项目名称自己更改。(或者直接新建一个app项目,然后把里边的unpackage和manifest这两个保留下来,其他的替换成自己dist文件里边的内容)

详解Vue webapp项目通过HBulider打包原生APP

这个时候是web项目,需要改为APP项目(如果直接新建的app,请忽略此步)

详解Vue webapp项目通过HBulider打包原生APP

更改前:详解Vue webapp项目通过HBulider打包原生APP

更改后: 详解Vue webapp项目通过HBulider打包原生APP

3、在HB中打开这个dist,可以看到有一个manifest.json的文件。这个文件是用来配置应用信息的。入口文件一定要对应好,我用VUE写的单页应用,所以就一个index.html。

详解Vue webapp项目通过HBulider打包原生APP

然后配置图标

详解Vue webapp项目通过HBulider打包原生APP

按着自己项目的要求配置就行了,HB下面列举的很详细。

4、接下来可以通过手机用USB线与电脑连接进行真机调试。(必须通过USB线连接才可以,人家HB不支持什么通过无线连接的方式)windows电脑不用说了,可以用一些360助手什么的就可以解决了。如果你的手机是安卓的,在苹果电脑下面就没那么好搞了。后来通过百度加自己的摸索也搞出来。方法就是在苹果电脑上下载一个使用 Android File Transfer这个软件。要收费时,点击试用就可以了。手机上需要打开usb调试,然后选择 内置光盘 就可以与苹果电脑连接了。手机自己也有提示(真的很暖心)

详解Vue webapp项目通过HBulider打包原生APP

连接成功之后,就可以进行真机调试了。

详解Vue webapp项目通过HBulider打包原生APP

注:网上很多说自己的VUE项目项目打开一片空白,记得改一下config下面的index.js中bulid模块导出的路径。因为index.html里边的内容都是通过script标签引入的,而你的路径不对,打开肯定是空白的。先看一下默认的路径。

module.exports = {
 build: {
  env: require('./prod.env'),
  index: path.resolve(__dirname, '../dist/index.html'),
  assetsRoot: path.resolve(__dirname, '../dist'),
  assetsSubDirectory: 'static',
  assetsPublicPath: '/',
  productionSourceMap: true,

assetsPublicPath默认的是  ‘/'  也就是根目录。而我们的index.html和static在同一级目录下面。  所以要改为  ‘./ '

另外还需要注意一点。src里边router/index.js路由配置里边默认模式是hash,如果你改成了history模式的话,打开也会是一片空白。所以改为hash或者直接把模式配置删除,让它默认的就行 。

// mode: 'history' // 默认hash

5、如果真机测试没有问题。那么就可以真正的进行打包成APP了。

详解Vue webapp项目通过HBulider打包原生APP

详解Vue webapp项目通过HBulider打包原生APP

详解Vue webapp项目通过HBulider打包原生APP

详解Vue webapp项目通过HBulider打包原生APP

详解Vue webapp项目通过HBulider打包原生APP

打包成功后,可以通过手动下载,或者直接打开下载目录里边下载好的。把这个xxxx.apk文件通过qq或者其他的发送到你的手机上,点击安装。就可以了。

6、最后,展示一下手机上的效果。

详解Vue webapp项目通过HBulider打包原生APP

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS解析json数据并将json字符串转化为数组的实现方法
Dec 25 Javascript
基于jquery实现的可编辑下拉框实现代码
Aug 02 Javascript
浅谈document.write()输出样式
May 07 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
Aug 17 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
Mar 29 Javascript
Angular2 (RC5) 路由与导航详解
Sep 21 Javascript
三种方式实现瀑布流布局
Feb 10 Javascript
javascript设计模式之单体模式学习笔记
Feb 15 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
Feb 19 Javascript
帝国cms首页列表页实现点赞功能
Oct 30 Javascript
Vue 实现简易多行滚动"弹幕"效果
Jan 02 Javascript
vue3不同环境下实现配置代理
May 25 Vue.js
Vue下路由History模式打包后页面空白的解决方法
Jun 29 #Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
Jun 29 #Javascript
JavaScript实现仿Clock ISO时钟
Jun 29 #Javascript
vue ssr 指南详读
Jun 29 #Javascript
jQuery实现获取动态添加的标签对象示例
Jun 28 #jQuery
Vue实现textarea固定输入行数与添加下划线样式的思路详解
Jun 28 #Javascript
详解swipe使用及竖屏页面滚动方法
Jun 28 #Javascript
You might like
Terran历史背景
2020/03/14 星际争霸
php实现mysql数据库备份类
2008/03/20 PHP
PHP中创建图像并绘制文字的例子
2014/11/19 PHP
图文介绍PHP添加Redis模块及连接
2015/07/28 PHP
详解PHP实现执行定时任务
2015/12/21 PHP
PHP微商城开源代码实例
2019/03/27 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
JavaScript 10件让人费解的事情
2010/02/15 Javascript
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
jquery中常用的函数和属性详细解析
2014/03/07 Javascript
jquery仿ps颜色拾取功能
2017/03/08 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
Node.js中 __dirname 的使用介绍
2017/06/19 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
微信小程序实现bindtap等事件传参
2019/04/08 Javascript
如何通过javaScript去除字符串两端的空白字符
2020/02/06 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
Python简单进程锁代码实例
2015/04/27 Python
Python中的pass语句使用方法讲解
2015/05/14 Python
Python简单读取json文件功能示例
2017/11/30 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
python中线程和进程有何区别
2020/06/17 Python
在keras里实现自定义上采样层
2020/06/28 Python
Python模拟键盘输入自动登录TGP
2020/11/27 Python
Matlab使用Plot函数实现数据动态显示方法总结
2021/02/25 Python
CSS3 边框效果
2019/11/04 HTML / CSS
自我评价范文点评
2013/12/04 职场文书
自我评价如何写好?
2014/01/05 职场文书
年检委托书
2014/08/30 职场文书
免职通知
2015/04/23 职场文书
2015年卫生监督工作总结
2015/05/21 职场文书
MySQL数据库完全卸载的方法
2022/03/03 MySQL