教你用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 相关文章推荐
页面中iframe相互传值传参
Dec 13 Javascript
一个简单的js鼠标划过切换效果
Jun 30 Javascript
学习JavaScript的最佳方法分享
Oct 21 Javascript
javascript字母大小写转换的4个函数详解
May 09 Javascript
JQuery中serialize() 序列化
Mar 13 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
May 26 Javascript
React中使用UEditor百度富文本的方法
Aug 22 Javascript
jQuery实现的中英文切换功能示例
Jan 11 jQuery
vue项目打包之后背景样式丢失的解决方案
Jan 17 Javascript
JS浮点数运算结果不精确的Bug解决
Aug 01 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
Oct 24 Javascript
Node使用koa2实现一个简单JWT鉴权的方法
Jan 26 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
第十二节 类的自动加载 [12]
2006/10/09 PHP
基于PHP实现短信验证码发送次数限制
2020/07/11 PHP
jquery ready函数源代码研究
2009/12/06 Javascript
jQuery bind事件使用详解
2011/05/05 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
javascript中typeof操作符和constucor属性检测
2015/02/26 Javascript
JS实现在页面随时自定义背景颜色的方法
2015/02/27 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
jQuery Mobile页面返回不需要重新get
2016/04/26 Javascript
深入分析javascript中的错误处理机制
2016/07/17 Javascript
angularJs中$scope数据序列化的实例
2018/09/30 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
JS实现贪吃蛇游戏
2019/11/15 Javascript
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
Python实现的石头剪子布代码分享
2014/08/22 Python
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
Python如何将函数值赋给变量
2020/04/28 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
Python自动发送和收取邮件的方法
2020/08/12 Python
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
什么是索引指示器
2012/08/20 面试题
中学老师的自我评价
2013/11/07 职场文书
内业资料员岗位职责
2014/01/04 职场文书
父亲八十大寿答谢词
2014/01/23 职场文书
工艺工程师岗位职责
2014/03/04 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
音乐课外活动总结
2015/05/09 职场文书
培训简讯范文
2015/07/20 职场文书
优秀班干部主要事迹材料
2015/11/04 职场文书
Java 在生活中的 10 大应用
2021/11/02 Java/Android
vue中div禁止点击事件的实现
2022/04/02 Vue.js
CSS的calc函数用法小结
2022/06/25 HTML / CSS
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS