用HBuilderX 打包 vue 项目 为 App 的步骤
首先打包你的 vue 项目 生成 dist 文件夹,教程请移步 https://www.cnblogs.com/taohuaya/p/10256670.html
看完上面的教程,请确保 你是 将:
项目目录下的config文件夹里的index.js文件中,将build对象下的assetsPublicPath中的“/”,改为“./”后,打包生成的 dist 文件。
开始使用 HBuiderX 打包。(工具下载地址:http://www.dcloud.io/)



这是我vue 项目打包后的dist 文件。








设置沉浸状态栏:(什么是沉浸状态栏和设置方法 请移步: http://ask.dcloud.net.cn/article/32 地址里的 http://ask.dcloud.net.cn/article/1150)
上图中添加位置的代码:
"statusbar": { //应用可视区域到系统状态栏下透明显示效果
"immersed": true
},



解决打包成App后,单击 手机返回键退出应用的bug。(可以直接把这段代码放到你vue项目中,重新打包,再放回来,也可以直接修改这个index.html)

上图中的代码:
<script type="text/javascript">
//如下代码主要是解决, 打包后的app点击返回键直接退出的bug.
/* 自己写的 toast 提示框 */
//下面用的是调的 Android 自身的 toast方法。 我把我自己写的toast 注释掉
/*
let flag = false;
function toast(tip){
if(flag) return;
let oDiv = document.createElement('div');
let oBody = document.getElementsByTagName('body')[0];
oDiv.innerText = tip;
oDiv.style.background = 'rgba(50, 50, 51, 0.88)';
oDiv.style.color = '#fff';
oDiv.style.textAlign = 'center';
oDiv.style.fontSize = '14px';
oDiv.style.lineHeight = '30px';
oDiv.style.width = '200px';
oDiv.style.borderRadius = '4px';
oDiv.style.position = 'fixed';
oDiv.style.left = '50%';
oDiv.style.transform = 'translateX(-50%)';
oDiv.style.bottom = '100px';
oDiv.style.zIndex = '1000';
oBody.appendChild(oDiv);
flag = true;
setTimeout(function(){
oBody.removeChild(oDiv);
flag = false;
},1000);
}
*/
/* 自己写的 toast 提示框---END--- */ document.addEventListener('plusready', function(a) { //等待plus ready后再调用5+ API:
//// 在这里调用5+ API
var first = null;
plus.key.addEventListener('backbutton', function() { //监听返回键
//首次按键,提示‘再按一次退出应用’
if (!first) {
first = new Date().getTime(); //获取第一次点击的时间戳
// console.log('再按一次退出应用');//用自定义toast提示最好
// toast('双击返回键退出应用'); //调用自己写的吐丝提示 函数
plus.nativeUI.toast("双击退出", {duration:'short'}); //通过H5+ API 调用Android 上的toast 提示框
setTimeout(function() {
first = null;
}, 1000);
} else {
if (new Date().getTime() - first < 1000) { //获取第二次点击的时间戳, 两次之差 小于 1000ms 说明1s点击了两次,
plus.runtime.quit(); //退出应用
}
}
}, false);
});
</script>
上面这段代码:我参考的文章和文档链接:
https://blog.csdn.net/qq_25252769/article/details/76913083
这个是 H5+ API 的(通过js调取Android等平台的原生方法)学习链接:http://ask.dcloud.net.cn/docs/
至此就基本上完成了,但是还会有一下bug,我时间我再弄。
这里是我效果图:

现纯的bug 是 进入详情页 ,点击返回也只能提示 双击退出, 而不是后退一步。
用HBuilderX 打包 vue 项目 为 App 的步骤的更多相关文章
- 使用HBuilderX实现打包vue项目成app
一.准备开发工具 开发工具:HBuilderX 官网地址:http://www.dcloud.io (标准版需要自己安装插件,app开发版已经把app开发常用的插件安装好了,开箱即用,建议使用开发版) ...
- cordava打包vue项目成app
注意:安装目录不要以中文命名 1.安装cordova :npm install -g cordova 2.安装java jdk :配置环境变量: 1.系统变量:名:JAVA_HOME 值:C:\ ...
- 使用Cordova打包Vue项目
因为公司项目要求, 原本的vue移动端项目, 现在要求能使用定位, 调用摄像头等功能, 并且开发成混合APP. 一个小白的孤军奋战史, 记录一下, 以备后用.... 第一步: 安装cordova 在命 ...
- 教你用Cordova打包Vue项目
现在国内越来越多的开发者使用Vue开发混合app,但是当大家开发完成过后才发现不知道该怎么将Vue项目打包成app. 据我现在的了解打包Vue项目目前流行的就是使用weex和cordova.weex是 ...
- 使用electron-packager electron-builder electron-updater 打包vue项目,支持在线更新
1.如何用electron-packager electron-builder打包vue项目,打包成桌面程序. 步骤一. 执行npm run build 打包你的vue项目. 打包成功后,生成dist ...
- electron打包vue项目
electron是什么 Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库. Electron通过将Chromium和Node.js合并 ...
- webpack打包vue项目之后生成的dist文件该怎么启动运行
亲测,webpack打包vue项目之后生成的dist文件可以部署到 express 服务器上运行. 我的vue项目结构如下: 1. 进入该vue项目目录,打开git bash,执行:npm run b ...
- nw打包vue项目 安装包
接着上篇nw打包vue项目exe中: copy /b nw.exe+dome.nw dome.exe 出现了dome.exe文件之后,要是打算打包成为安装包,网上推荐的是Inno Setup Comp ...
- docker 运行jenkins及vue项目与springboot项目(三.jenkins的使用及自动打包vue项目)
docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...
随机推荐
- JS 如何将 HTML 页面导出为多页 PDF
参考链接:https://blog.csdn.net/pwc1996/article/details/70141383
- SQLServer语法常用总结
1. 有时候查看SQL的时候表名或者字段名需要加[],这是因为有时候你的表名或者字段名正好与sqlserver的保留字段重了 比如:有一个user表,直接select会报错 select * from ...
- Queue和BlockingQueue的使用以及使用BlockingQueue实现生产者-消费者
Java提供了两种新的容器类型:Queue和BlockingQueue. Queue用于保存一组等待处理的元素.它提供了几种实现,包括:ConcurrentLinkedQueue,这是一个先进先出的并 ...
- 编程基础 - 0x00008 的0x代表什么?
总结: 二进制:0dXXXX 八进制:0XXXX 十六进制:0xXXXX ------------------------------- 1- 十六进制 以“0x”开始的数据表示16进制,计算机中每位 ...
- [Kubernetes]关于K8s,你应该知道的一些东西
Kubernetes概述 Kubernetes(也常称K8s,用8代替8个字符"ubernete"而成的缩写),是一个开源的,用于管理云平台中多个主机上的容器化应用. 它的一个核心 ...
- Perf -- Linux下的系统性能调优工具,第 1 部分【转】
转自:https://www.ibm.com/developerworks/cn/linux/l-cn-perf1/ Perf 简介 Perf 是用来进行软件性能分析的工具. 通过它,应用程序可以利用 ...
- TextArea 保存时换行符处理
后台数据保存时就要处理“\r\n",替换成”<br />",前台(html)页面显示时再做下处理. 自己是mvc页面,用到了两个方法:Html.Raw(),以及Http ...
- [debug]记一次竞态更新bug的解决
公司的django项目,有一个旧接口,使用POST方法更新用户的一种记录型数据. 这个接口的历史有点长,最早的时候没有那么多需求,只会更新两个布尔字段.后来,加入一个需要高频次记录的字段.这些字段都属 ...
- U盘被写保护不能重新格式化
今天一个朋友拿给我一个U盘,说这个U盘是商家送的,他想格式化,但是U盘被写保护了,系统不能格式化. 他想把这个U盘插到车子里听音乐,但是车载系统始终识别的是第一个分区,而这个分区正是被写保护那个,且这 ...
- 如何:配置 ClickOnce 信任提示行为
转载链接:https://technet.microsoft.com/zh-cn/magazine/ee308453 可以配置 ClickOnce 信任提示以控制是否允许最终用户选择安装 ClickO ...