通过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 相关文章推荐
农历与西历对照
Sep 06 Javascript
JavaScript入门教程(10) 认识其他对象
Jan 31 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
Sep 03 Javascript
JS自动缩小超出大小的图片
Oct 12 Javascript
使用GruntJS构建Web程序之合并压缩篇
Jun 06 Javascript
jQuery中DOM操作实例分析
Jan 23 Javascript
JavaScript匿名函数用法分析
Feb 13 Javascript
JS中产生标识符方式的演变
Jun 12 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
Jun 08 Javascript
深入理解jQuery 事件处理
Jun 14 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
May 01 jQuery
layui自己添加图片按钮并点击跳转页面的例子
Sep 14 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
编译问题
2006/10/09 PHP
PHP实现货币换算的方法
2014/11/29 PHP
php读取csc文件并输出
2015/05/21 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
2017/01/16 Javascript
jQuery选择器_动力节点Java学院整理
2017/07/05 jQuery
vue 2.0 购物车小球抛物线的示例代码
2018/02/01 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
2018/07/21 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
vue前后分离调起微信支付
2019/07/29 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
vue css 引入asstes中的图片无法显示的四种解决方法
2020/03/16 Javascript
Python 随机生成中文验证码的实例代码
2013/03/20 Python
Python中用pycurl监控http响应时间脚本分享
2015/02/02 Python
以windows service方式运行Python程序的方法
2015/06/03 Python
python实现支持目录FTP上传下载文件的方法
2015/06/03 Python
python简单分割文件的方法
2015/07/30 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
[机器视觉]使用python自动识别验证码详解
2019/05/16 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
python各类经纬度转换的实例代码
2019/08/08 Python
python接口调用已训练好的caffe模型测试分类方法
2019/08/26 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
工程概预算专业毕业生求职信
2013/10/04 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
导游词之镜泊湖
2019/12/09 职场文书
用python批量解压带密码的压缩包
2021/05/31 Python