通过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 相关文章推荐
由prototype_1.3.1进入javascript殿堂-类的初探
Nov 06 Javascript
准确获得页面、窗口高度及宽度的JS
Nov 26 Javascript
jquery form表单提交插件asp.net后台中文解码
Jun 12 Javascript
javascript中RegExp保留小数点后几位数的方法分享
Aug 13 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
Dec 31 Javascript
JS获取地址栏参数的几种方法小结
Feb 28 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
May 14 Javascript
利用jquery实现下拉框的禁用与启用
Dec 07 Javascript
强大的JavaScript响应式图表Chartist.js的使用
Sep 13 Javascript
Vue项目查看当前使用的elementUI版本的方法
Sep 27 Javascript
vsCode安装使用教程和插件安装方法
Aug 24 Javascript
微信小程序Echarts图表组件使用方法详解
Jun 25 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
PHP扩展编写点滴 技巧收集
2010/03/09 PHP
PHP-redis中文文档介绍
2013/02/07 PHP
php验证手机号码
2015/11/11 PHP
详解WordPress中分类函数wp_list_categories的使用
2016/01/04 PHP
两种php实现图片上传的方法
2016/01/22 PHP
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
2012/11/14 Javascript
js导出格式化的excel 实例方法
2013/07/17 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
微信小程序 保留小数(toFixed)详细介绍
2016/11/16 Javascript
微信小程序-详解数据缓存
2016/11/24 Javascript
javascript 面向对象function详解及实例代码
2017/02/28 Javascript
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
2017/06/11 Javascript
详解使用路由延迟加载 Angular 模块
2017/10/12 Javascript
taro开发微信小程序的实践
2019/05/21 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
微信小程序swiper使用网络图片不显示问题解决
2019/12/13 Javascript
jQuery实现王者荣耀手风琴效果
2020/01/17 jQuery
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
python为tornado添加recaptcha验证码功能
2014/02/26 Python
Python之PyUnit单元测试实例
2014/10/11 Python
浅谈python socket函数中,send与sendall的区别与使用方法
2017/05/09 Python
Python学生信息管理系统修改版
2018/03/13 Python
用PyInstaller把Python代码打包成单个独立的exe可执行文件
2018/05/26 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
Python根据指定文件生成XML的方法
2020/06/29 Python
Python 里最强的地图绘制神器
2021/03/01 Python
美国知名运动产品零售商:Foot Locker
2016/07/23 全球购物
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
入党思想汇报
2014/01/05 职场文书
怎样写离婚协议书
2015/01/26 职场文书
医院党建工作总结2015
2015/05/26 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
500字作文之关于爸爸
2019/11/14 职场文书