通过cordova将vue项目打包为webapp的方法


Posted in Javascript onFebruary 02, 2019

准备工作:需要之前配置好vue-cli脚架构,安装好cordova环境。下面开始对vue.js项目进行打包,打包环境为Android。

可以看下我的github:https://github.com/padipata ,里面有我自己写的vue项目,喜欢的给个关注呗。

1.添加cordova项目

$ cordova create myApp1 org.apache.cordova.myApp myApp2

其中:

  • myApp1:cordova目录名
  • org.apache.cordova.myApp: 包名
  • myApp2: 项目名(在config.xml的<name>中查看)

2.在vue中添加cordova的配置

myApp1/www/index.html----->vue/index.html

  • 将myApp1/www/index.html中所有的<meta>拷贝到vue/index.html中
  • 将myApp1/www/index.html中<script>关于cordova.js的引用拷贝到vue/index.html中

myApp1/www/js/index.js----->vue/vuex/main.js

var app = {
// Application Constructor
initialize: function() {
thisbindEvents();
},
// Bind Event Listeners
//
// Bind any events that are required on startup Common events are:
// 'load', 'deviceready', 'offline', and 'online'
bindEvents: function() {
documentaddEventListener('deviceready', thisonDeviceReady, false);
},
// deviceready Event Handler
//
// The scope of 'this' is the event In order to call the 'receivedEvent'
// function, we must explicitly call 'appreceivedEvent();'
onDeviceReady: function() {
appreceivedEvent('deviceready');
},
// Update DOM on a Received Event
receivedEvent: function(id) {
var parentElement = documentgetElementById(id);
var listeningElement = parentElementquerySelector('listening');
var receivedElement = parentElementquerySelector('received');
listeningElementsetAttribute('style', 'display:none;');
receivedElementsetAttribute('style', 'display:block;');
consolelog('Received Event: ' + id);
}
};
appinitialize();

1)内容拷贝到vue/src/vuex/main.js中

2)onDeviceReady时启动app

onDeviceReady: function () {
//appreceivedEvent('deviceready');
appRouterstart(App, 'app')
windownavigatorsplashscreenhide()
}

3.创建android项目

终端中进入到myApp1 项目,执行以下命令:

cordova platform add android这时候vue项目中会得到一个android文件夹,里面包含一个测试版本的apk,可以传输到手机上调试。

4.添加cordova插件

终端中进入到vue项目,执行以下命令:

cordova plugin add xxxx

5. 构建 vue项目

通过cordova将vue项目打包为webapp的方法

许多人掉过这个坑,打包出来的apk是一个cordova默认的空白项目,因此,需要在打包vue之前在这里把配置文件修改过来。 

终端中进入到vue项目,执行以下命令:npm run build

6.文件转移

将dist文件夹下的文件,拷贝到cordova/platforms/androd/assets/www目录下 (index.html替代掉原本的)

7.构建cordova项目

从终端进入到myApp1/platforms/android/cordova目录下,执行以下命令:

cordova build android //构建apk 

配置JDK环境(这里只对mac os进行记录,Win系统请自行脑补):

cd ~ 进入到~目录

touch .bash_profile

vi .bash_profile 使用vi编辑器编辑 .bash_profile文件

然后输入 i ,在vi编辑器里面输入 i 的意思是开始编辑。

vi编辑器里面的内容如下:

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH:
export JAVA_HOME
export CLASSPATH
export PATH 

然后退出vi编辑器使用如下命令:(个人习惯 :wq!回车)

1. 输入ese

2. 输入冒号: wq

3. 保存退出

如果以上修改完毕切正确,那么接下来就是让配置的环境变量生效,使用如下命令:source .bash_profile

完毕以后查看下当前的java 版本是否正确输入如下命令:java -version

如果是预想中的1.8,那么恭喜你,你这个时候就可以执行: cordova build android

cordova run android //构建apk,并安装到连接的设备上(按个人需求)

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

Javascript 相关文章推荐
XHTML-Strict 内允许出现的标签
Dec 11 Javascript
又一个图片自动缩小的JS代码
Mar 10 Javascript
从jQuery.camelCase()学习string.replace() 函数学习
Sep 13 Javascript
jquery实现页面图片等比例放大缩小功能
Feb 12 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
Oct 17 Javascript
JavaScript前端图片加载管理器imagepool使用详解
Dec 29 Javascript
浅析Javascript匿名函数与自执行函数
Feb 06 Javascript
js获取新浪天气接口的实现代码
Jun 06 Javascript
React+Webpack快速上手指南(小结)
Aug 15 Javascript
vue插件draggable实现拖拽移动图片顺序
Dec 01 Javascript
turn.js异步加载实现翻书效果
Jul 25 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
Sep 09 Javascript
用Cordova打包Vue项目的方法步骤
Feb 02 #Javascript
JS实现数组去重及数组内对象去重功能示例
Feb 02 #Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
Feb 01 #Javascript
JavaScript动态创建二维数组的方法示例
Feb 01 #Javascript
Electron 如何调用本地模块的方法
Feb 01 #Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
Feb 01 #Javascript
原来JS还可以这样拆箱转换详解
Feb 01 #Javascript
You might like
德生PL550的电路分析
2021/03/02 无线电
php 静态化实现代码
2009/03/20 PHP
PHP中数据库单例模式的实现代码分享
2014/08/21 PHP
php结合js实现点击超链接执行删除确认操作
2014/10/31 PHP
CI框架Session.php源码分析
2014/11/03 PHP
thinkphp3.x中session方法的用法分析
2016/05/20 PHP
JavaScript入门教程 Cookies
2009/01/31 Javascript
js截取字符串的两种方法及区别详解
2013/11/05 Javascript
购物车选中得到价格实现示例
2014/01/26 Javascript
JavaScript中的ubound函数使用实例
2014/11/04 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
jQuery实现放大镜效果实例代码
2016/03/17 Javascript
jQuery实现的网格线绘制方法
2016/06/20 Javascript
vue多页面开发和打包正确处理方法
2018/04/20 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
Centos Python2 升级到Python3的简单实现
2016/06/21 Python
利用python实现微信头像加红色数字功能
2018/03/26 Python
python实现nao机器人手臂动作控制
2019/04/29 Python
python中列表的切片与修改知识点总结
2019/07/23 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
2020/04/17 Python
Python接口测试结果集实现封装比较
2020/05/01 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
智能电子应届生求职信
2013/11/10 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
惊涛骇浪观后感
2015/06/05 职场文书
送给自己的励志语句:要安静的优秀,悄无声息的坚强
2019/11/26 职场文书
Redis高级数据类型Hyperloglog、Bitmap的使用
2021/05/24 Redis
HDFS免重启挂载新磁盘
2022/04/06 Servers