用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项目 四 ...
随机推荐
- Nginx(二) nginx 无法启动
有时候在客户端输入:nginx 但是终端会输出以下,显示启动失败 nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already i ...
- MGR架构 ~ 节点的维护相关问题
一简介:MGR节点的相关维护二 两种情况 1 MGR读节点异常停止,然后重新启动加入节点进行数据同步 2 MGR读节点新加入集群成员,启动复制进行数据同步三 通用过程 1 新加入节点通过通道 ...
- Flask里面session的基本操作
#session是依赖于flask的session模块 #如果想使用session模块,在配置里必须定义sessionkey from flask import Flask,session #建立对象 ...
- python scrapy 报错 DEBUG: Ignoring response 403
DEBUG: Ignoring response <403 http://movie.douban.com/top250>: HTTP status code is not handled ...
- Django入门------基础(1)
基础 Django 是用 Python 写的一个自由和开放源码 web 应用程序框架.web框架是一套组件,能帮助你更快.更容易地开发web站点.当你开始构建一个web站点时,你总需要一些相似的组件: ...
- python第六天函数,定义、调用、不带参函数、带参函数等
在python定义函数需要用到的关键字是 def xxxx():,这个关键字就是 defined 的缩写.具体看实例: >>> def hello(): print("你 ...
- SpringSecurity个性化用户认证流程
⒈自定义登录页面 package cn.coreqi.security.config; import org.springframework.context.annotation.Bean; impo ...
- mvc5怎么给所有action都设置几个公用的ViewBag
最近开发项目中遇到这样的问题,因为有多个同步的页面,所以需要在多个同步页面上有相同的值返回回来,经过一系列的思维,我们把思维整理出来. public ActionResult Index() { Vi ...
- 【Nginx】Nginx简介及在CentOS7.0下安装教程
是什么 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强,事实上nginx的并发能 ...
- Linux网络 - 数据包的接收过程【转】
转自:https://segmentfault.com/a/1190000008836467 本文将介绍在Linux系统中,数据包是如何一步一步从网卡传到进程手中的. 如果英文没有问题,强烈建议阅读后 ...