准备工作:需要之前配置好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

  1. var app = {
  2. // Application Constructor
  3. initialize: function() {
  4. this.bindEvents();
  5. },
  6. // Bind Event Listeners
  7. //
  8. // Bind any events that are required on startup. Common events are:
  9. // 'load', 'deviceready', 'offline', and 'online'.
  10. bindEvents: function() {
  11. document.addEventListener('deviceready', this.onDeviceReady, false);
  12. },
  13. // deviceready Event Handler
  14. //
  15. // The scope of 'this' is the event. In order to call the 'receivedEvent'
  16. // function, we must explicitly call 'app.receivedEvent(...);'
  17. onDeviceReady: function() {
  18. app.receivedEvent('deviceready');
  19. },
  20. // Update DOM on a Received Event
  21. receivedEvent: function(id) {
  22. var parentElement = document.getElementById(id);
  23. var listeningElement = parentElement.querySelector('.listening');
  24. var receivedElement = parentElement.querySelector('.received');
  25. listeningElement.setAttribute('style', 'display:none;');
  26. receivedElement.setAttribute('style', 'display:block;');
  27. console.log('Received Event: ' + id);
  28. }
  29. };
  30. app.initialize();

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

  2)onDeviceReady时启动app

  1. onDeviceReady: function () {
  2. //app.receivedEvent('deviceready');
  3. appRouter.start(App, 'app')
  4. window.navigator.splashscreen.hide()
  5. }

3.创建android项目

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

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

4.添加cordova插件

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

    cordova plugin add xxxx

5. 构建 vue项目

  许多人掉过这个坑,打包出来的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,并安装到连接的设备上  (按个人需求)

通过cordova将vue项目打包为webapp的更多相关文章

  1. cordova将vue项目打包成apk

    1,若vue项目不在cordova项目里,直接把它复制进来,避免改动代码的麻烦 2,直接按照以下链接进行操作即可 链接:https://www.cnblogs.com/qirui/p/8421372. ...

  2. 【转】vue项目打包部署——nginx代理访问

    我又来了,今天部署了下vue项目,使用nginx做了代理,这样可以解决跨域的问题,这里做一个简单讲解. 1.先看vue项目打包(我这里使用的是vscode开发工具) 这里是我的项目结构: 打包之前需要 ...

  3. vue项目打包采坑

    1. vue项目打包采坑 1.1. vue运行报错error:Cannot assign to read only property 'exports' of object '#' 这个错误我是在打包 ...

  4. Vue项目打包后背景图片路径错误

    vue项目打包之后背景图片出错的解决方案如下: 1,找到 config->index.js里面,如下修改 默认配置: env: require('./prod.env'), index: pat ...

  5. vue项目打包后运行报错400如何解决

    昨天一个Vue项目打包后,今天测试,发现无论localhost还是服务器上都运行不了,报错如下: Failed to load resource: the server responded with ...

  6. vue项目打包,生成dist文件夹,如何修改文件夹的名字

    vue项目打包之后的dist文件目录是如下 如果想要修改dist或则static文件名称,需要打开config / index.js build: { // Template for index.ht ...

  7. vue项目打包踩坑记

    基于webpack+vue-cli下的vue项目打包命令是 npm run build ,等待打包完成后在根目录生成dist文件夹,里面包含了所有项目相关的内容. 注意:需要完整版的vue-cli项目 ...

  8. vue项目打包-2-九五小庞

    vue项目打包 一.终端运行命令 npm run build 二.打包成功的标志与项目的改变,如下图: 3.点击index.html,通过浏览器运行,出现以下报错,如图: 四.那么应该如何修改呢?具体 ...

  9. vue项目打包成html,在本地点击直接能打开

    默认情况下vue项目打包后,本地打开index.html是空白的,有报错.Failed to load resource: net::ERR_FILE_NOT_FOUND 这时需要修改config-& ...

随机推荐

  1. (五)Jmeter中的属性和变量

    一.Jmeter中的属性: 1.JMeter属性统一定义在jmeter.properties文件中,我们可以在该文件中添加自定义的属性 2.JMeter属性在测试脚本的任何地方都是可见的(全局),通常 ...

  2. Linux服务器ping不通域名出现的unknown host 错误解决办法

    "ping: unknown host www.baidu.com" 解决方法 如果某台Linux服务器ping不通域名, 如下提示: # ping www.baidu.compi ...

  3. Shell Script的默认变量

    $? #上一个命令执行后所回传的值,当我们执行某些命令时,这些命令都会回传一个执行后的代码.一般来说,如果成功执行该命令则会回传一个0值.如果执行过程发生错误,就会回传“错误代码” $$ #代表目前这 ...

  4. 第73天:jQuery基本动画总结

    一.DOM对象跟jQuery对象相互转换 jQuery对象转换成DOM对象: 方式一:$(“#btn”)[0] 方式二:$(“#btn”).get(0) DOM对象转换成jQuery对象: $(doc ...

  5. list的迭代器能解决并发问题,collection 的迭代器不能解决并发问题,for可以解决并发问题

    list的迭代器能解决并发问题,collection 的迭代器不能解决并发问题 为什么list支持add,collection不支持 例如有两个人同时添加第三个元素 list的迭代器能锁定线程 只有等 ...

  6. ZJOI2012网络 题解报告【LCT】

    题目描述 有一个无向图G,每个点有个权值,每条边有一个颜色.这个无向图满足以下两个条件: 对于任意节点连出去的边中,相同颜色的边不超过两条. 图中不存在同色的环,同色的环指相同颜色的边构成的环. 在这 ...

  7. 洛谷 P4219 [BJOI2014]大融合 解题报告

    P4219 [BJOI2014]大融合 题目描述 小强要在\(N\)个孤立的星球上建立起一套通信系统.这套通信系统就是连接\(N\)个点的一个树. 这个树的边是一条一条添加上去的.在某个时刻,一条边的 ...

  8. 《Linux内核设计与实现》读书笔记——第一二章

    <Linux内核设计与实现>读书笔记——第一二章 第一章 Linux内核简介 1.1 Unix的历史 简洁:仅提供系统调用并有一个非常明确的设计目的. 抽象:Unix中绝大部分东西都被当做 ...

  9. POJ.3087 Shuffle'm Up (模拟)

    POJ.3087 Shuffle'm Up (模拟) 题意分析 给定两个长度为len的字符串s1和s2, 接着给出一个长度为len*2的字符串s12. 将字符串s1和s2通过一定的变换变成s12,找到 ...

  10. 最小生成树-----Prim算法与Kruskal算法(未完

    生成树(spanning tree):无向联通图的某个子图中,任意两个顶点互相都联通并且形成了一棵树,那么这棵树就叫做生成树. 最小生成树(MST,minimum spanning tree):如果为 ...