教你用Cordova打包Vue项目的方法


Posted in Javascript onOctober 17, 2017

现在国内越来越多的开发者使用Vue开发混合app,但是当大家开发完成过后才发现不知道该怎么将Vue项目打包成app。
据我现在的了解打包Vue项目目前流行的就是使用weex和cordova。weex是阿里提供并且Vue的作者也极力推荐的,有兴趣的可以去学习使用一下。因为我本身是做angular+ionic的,所以比较青睐cordova,下面我就教大家怎么使用cordova打包Vue项目:

第一步:安装cordova

如果已经安装则直接跳过,否则执行以下命令:

npm install -g cordova

如果这个命令都不会运行,那我建议你不要继续往下看了。

第二步:新建cordova项目

执行命令

cordova create cordovaApp com.cordova.testapp
cd cordovaApp
cordova platform add android

到这里我们的cordova项目就创建好了。

第三步:修改vue项目

如果你没有vue项目的话,自行百度去新建一个vue项目吧。

首先修改vue项目的index.html

在head之间加入

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">
  <meta name="format-detection" content="telephone=no">
  <meta name="msapplication-tap-highlight" content="no">
  <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">

这里注意加入<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">这个的时候可能导致页面样式改变,如果改变则不加,否则还是建议加上。

然后引入cordova.js

<body>
  <div id="app"></div>
  <script type="text/javascript" src="cordova.js"></script>
  <!-- built files will be auto injected -->
</body>

然后修改src中的main.js为以下代码

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
Vue.config.productionTip = false

/* eslint-disable no-new */

document.addEventListener('deviceready', function() {
  new Vue({
    el: '#app',
    router,
    store,
    template: '<App/>',
    components: { App }
  })
  window.navigator.splashscreen.hide()
}, false);

最后修改config文件夹中的index.js文件

修改build中的

assetsSubDirectory: 'static',
    assetsPublicPath: '/',

assetsSubDirectory: '',
    assetsPublicPath: '',

然后运行

npm run dev

看看是否能够运行起来,如果正常说明到这里是没有问题的。

第四步:将vue文件放到cordova项目中并打包

先在vue项目中运行

npm run build

执行完成后会生成一个dist文件夹,找到这个文件夹将里面的所有文件复制到你的cordova项目的www文件夹下替换它原有的文件。

然后就可以执行

cordova build android

会生成一个可执行的apk文件,安装即可。

到这里就完成了我们vue项目的打包。

友情提示:

如果vue项目在运行npm run dev或者npm run build的时候遇到问题一般不是代码出错的话可以将node_modules文件夹删除使用npm install安装。

如果是因为eslint导致代码检查不通过的话,可以将Vue项目的build文件夹下的webpack.base.config文件中的rules

{
       test: /\.(js|vue)$/,
       loader: 'eslint-loader',
       enforce: 'pre',
       include: [resolve('src'), resolve('test')],
       options: {
        formatter: require('eslint-friendly-formatter')
       }
      },

这段代码注释即可。

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

Javascript 相关文章推荐
for 循环性能比较 提高for循环的效率
Mar 19 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
Jan 09 Javascript
ExtJs纵坐标值重复问题的解决方法
Feb 27 Javascript
javascript元素动态创建实现方法
May 13 Javascript
使用Raygun对Node.js应用进行错误处理的方法
Jun 23 Javascript
jquery 正整数数字校验正则表达式
Jan 10 Javascript
JavaScript中三种常见的排序方法
Feb 24 Javascript
Vue组件之Tooltip的示例代码
Oct 18 Javascript
Vue的watch和computed方法的使用及区别介绍
Sep 06 Javascript
使用vue-cli webpack 快速搭建项目的代码
Nov 21 Javascript
在NPM发布自己造的轮子的方法步骤
Mar 09 Javascript
如何在vue 中使用柱状图 并自修改配置
Jan 21 Vue.js
vue与TypeScript集成配置最简教程(推荐)
Oct 17 #Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
Oct 17 #Javascript
javascript 中模板方法单例的实现方法
Oct 17 #Javascript
vue滚动轴插件better-scroll使用详解
Oct 17 #Javascript
react中的ajax封装实例详解
Oct 17 #Javascript
实现图片首尾平滑轮播(JS原生方法—节流)
Oct 17 #Javascript
打造通用的匀速运动框架(实例讲解)
Oct 17 #Javascript
You might like
用PHP生成静态HTML速度快类库
2007/03/18 PHP
orm获取关联表里的属性值
2016/04/17 PHP
PHP常见错误提示含义解释(实用!值得收藏)
2016/04/25 PHP
PDO::errorInfo讲解
2019/01/28 PHP
JQuery动态给table添加、删除行 改进版
2011/01/19 Javascript
js 判断控件获得焦点的示例代码
2014/03/04 Javascript
jquery中表单 多选框的一种巧妙写法
2015/09/06 Javascript
基于jquery实现的仿优酷图片轮播特效代码
2016/01/13 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
Javascript中 toFixed四舍六入方法
2017/08/21 Javascript
详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css
2017/11/08 jQuery
vue-router的使用方法及含参数的配置方法
2018/11/13 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
2020/09/18 Javascript
js实现鼠标切换图片(无定时器)
2021/01/27 Javascript
python调用windows api锁定计算机示例
2014/04/17 Python
Python抓取手机号归属地信息示例代码
2016/11/28 Python
Python实现定时执行任务的三种方式简单示例
2019/03/30 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
python实现数据分析与建模
2019/07/11 Python
selenium自动化测试入门实战
2020/12/21 Python
python 下载文件的几种方法汇总
2021/01/06 Python
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
Joules官网:女士、男士和儿童服装和鞋类
2018/10/23 全球购物
2014年创卫实施方案
2014/02/18 职场文书
《小蝌蚪找妈妈》教学反思
2014/02/21 职场文书
yy司仪主持词
2014/03/22 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
2014年毕业演讲稿范文
2014/05/13 职场文书
学雷锋的心得体会
2014/09/04 职场文书
三方股份合作协议书
2014/10/13 职场文书
2015年员工工作总结范文
2015/04/08 职场文书
2015教师个人德育工作总结
2015/07/22 职场文书
创业计划书之零食店(进口)
2019/09/24 职场文书
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android
2022年四月新番
2022/03/15 日漫