教你用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 相关文章推荐
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
Apr 02 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
Nov 13 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
Jun 09 Javascript
js控制网页背景音乐播放与停止的方法
Feb 06 Javascript
JavaScript DOM元素尺寸和位置
Apr 13 Javascript
jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果
Oct 28 Javascript
JavaScript字符串常用的方法
Mar 10 Javascript
xtemplate node.js 的使用方法实例解析
Aug 22 Javascript
工厂模式在JS中的实践
Jan 18 Javascript
详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
Apr 30 Javascript
vue 在methods中调用mounted的实现操作
Aug 07 Javascript
JavaScript 事件代理需要注意的地方
Sep 08 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
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
php switch语句多个值匹配同一代码块的实现
2014/03/03 PHP
thinkphp常见路径用法分析
2014/12/02 PHP
PHP连接MySQL数据的操作要点
2015/03/20 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
2015/12/24 PHP
phpStudy配置多站点多域名和多端口的方法
2017/09/01 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
2019/10/01 PHP
WordPress JQuery处理沙发头像
2009/06/22 Javascript
通过jQuery源码学习javascript(一)
2012/12/27 Javascript
JavaScript获取伪元素(Pseudo-Element)属性的方法技巧
2015/03/13 Javascript
jQuery实现按键盘方向键翻页特效
2015/03/18 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
2015/11/05 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
AngularJS实现按钮提示与点击变色效果
2016/09/07 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
2016/12/06 Javascript
Bootstrap table右键功能实现方法
2017/02/20 Javascript
AngularJS中的路由使用及实现代码
2017/10/09 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
2019/02/20 Javascript
js字符串处理之绝妙的代码
2019/04/05 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
JavaScript实现网页计算器功能
2020/10/29 Javascript
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
跟老齐学Python之开始真正编程
2014/09/12 Python
对python生成业务报表的实例详解
2019/02/03 Python
详解Python对JSON中的特殊类型进行Encoder
2019/07/15 Python
pytorch判断是否cuda 判断变量类型方式
2020/06/23 Python
化工专业推荐信范文
2013/11/28 职场文书
学校门卫工作职责
2013/12/07 职场文书
网吧收银员岗位职责
2013/12/14 职场文书
临床护士自荐信
2014/01/31 职场文书
给校长的一封建议书
2014/03/12 职场文书
2015年党员自评材料
2014/12/17 职场文书
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python