教你用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 相关文章推荐
JQuery 绑定事件时传递参数的实现方法
Oct 13 Javascript
jQuery AJAX 调用WebService实现代码
Mar 24 Javascript
控制input输入框中提示信息的显示和隐藏的方法
Feb 12 Javascript
js中string转int把String类型转化成int类型
Aug 13 Javascript
js实现点击左右按钮轮播图片效果实例
Jan 29 Javascript
JavaScript基本语法学习教程
Jan 14 Javascript
js实现常用排序算法
Aug 09 Javascript
js精确的加减乘除实例
Nov 14 Javascript
setTimeout与setInterval的区别浅析
Mar 23 Javascript
浅谈layui 数据表格前后台传值的问题
Sep 12 Javascript
js实现图片3D轮播效果
Sep 21 Javascript
实例分析javascript中的异步
Jun 02 Javascript
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
叫你如何修改Nginx与PHP的文件上传大小限制
2014/09/10 PHP
PHP字符串word末字符实现大小写互换的方法
2014/11/10 PHP
PHP实现Redis单据锁以及防止并发重复写入
2018/04/10 PHP
幻宇的层模拟窗口效果-提供演示和下载
2007/01/20 Javascript
用JavaScript和注册表脚本实现右键收藏Web页选中文本
2007/01/28 Javascript
js 实现无干扰阴影效果 简单好用(附文件下载)
2009/12/27 Javascript
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
2010/04/29 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
Extjs表单常见验证小结
2014/03/07 Javascript
AngularJS初始化过程分析(引导程序)
2014/12/06 Javascript
详解vue-cli中配置sass
2017/06/21 Javascript
js获取元素的偏移量offset简单方法(必看)
2017/07/05 Javascript
10个经典的网页鼠标特效代码
2018/01/09 Javascript
基于react后端渲染模板引擎noox发布使用
2018/01/11 Javascript
webpack实现一个行内样式px转vw的loader示例
2018/09/13 Javascript
在vue项目中引入vue-beauty操作方法
2019/02/11 Javascript
小程序多图列表实现性能优化的方法步骤
2019/05/28 Javascript
JavaScript代码实现微博批量取消关注功能
2021/02/05 Javascript
Python中使用OpenCV库来进行简单的气象学遥感影像计算
2016/02/19 Python
Python学习小技巧之列表项的拼接
2017/05/20 Python
python实现抽奖小程序
2020/04/15 Python
keras 如何保存最佳的训练模型
2020/05/25 Python
解决Keras使用GPU资源耗尽的问题
2020/06/22 Python
学前教育专业毕业生自荐信
2013/10/03 职场文书
咖啡店的创业计划书,让你hold不住
2014/01/03 职场文书
支教自我鉴定
2014/01/18 职场文书
美国探亲签证邀请信
2014/02/05 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
C++程序员求职信
2014/05/07 职场文书
优秀的应届生自荐信
2014/05/23 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
寒假生活随笔
2015/08/15 职场文书
解决pytorch 损失函数中输入输出不匹配的问题
2021/06/05 Python
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL
python pandas 解析(读取、写入)CSV 文件的操作方法
2022/12/24 Python