用Cordova打包Vue项目的方法步骤


Posted in Javascript onFebruary 02, 2019

现在国内越来越多的开发者使用Vue开发混合app,但是当大家开发完成过后才发现不知道该怎么将Vue项目打包成app。

现在的打包Vue项目目前流行的就是使用weex和cordova。weex是阿里提供并且Vue的作者也极力推荐的,有兴趣的可以去学习使用一下。下面说说怎么使用cordova打包Vue项目:

第一步:安装cordova,创建好cordova项目。

第二步:修改vue项目

首先修改vue项目的index.html,引入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
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: '',

第三步:运行

看看是否能够运行起来,如果正常说明到这里是没有问题的(注意这里运行的时候需要将document.addEventListener注释,
因为在浏览器环境下是找不到cordova.js的也就不能监听到deviceready的事件,打包在真机上才能实现监听)。

第四步:将vue打包好的文件放到cordova项目中并打包cordova run android,会生成一个可执行的apk文件,也可以直接在真机上运行。安装即可。

友情提示:

如果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')
   }
  },

这段代码注释即可。

PS:通过cordova将vue项目打包成app

一、创建一个cordova工程

cordova create cordovaVue

cd cordovaVue
  • config.xml -包含应用相关信息,使用到的插件以及面向的平台
  • platforms - 包含应用运行平台如 Android 和 iOS 上对应的 Cordova 库
  • plugins - 包含应用所需插件的 Cordova 库,使得应用能够访问例如照相机和电池状态相关的事项。
  • www - 包含应用源代码,例如 HTML, JavaScript 和 CSS 文件
  • hooks - 包含为个性化应用编译系统所需的脚本 

二、添加安卓平台

cordova platform add android --save

三、在vue项目中生成编译完成的源文件

npm run build

四、将cordova项目中的www文件夹下的内容替换为vue项目中生成的dist文件夹中的内容 

五、在cordova项目中创建Android应用

cordova build android

六、将手机连接在电脑上,运行该 Android 程序

cordova run android

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

Javascript 相关文章推荐
juqery 学习之四 筛选查找
Nov 30 Javascript
『jQuery』.html(),.text()和.val()的概述及使用
Apr 22 Javascript
JS清除IE浏览器缓存的方法
Jul 26 Javascript
详解jquery中$.ajax方法提交表单
Nov 03 Javascript
jQuery 局部div刷新和全局刷新方法总结
Oct 05 Javascript
微信小程序--onShareAppMessage分享参数用处(页面分享)
Apr 18 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
May 11 Javascript
微信小程序上传图片到服务器实例代码
Nov 07 Javascript
Vue-cli项目获取本地json文件数据的实例
Mar 07 Javascript
JS实现对json对象排序并删除id相同项功能示例
Apr 18 Javascript
详解vue 数组和对象渲染问题
Sep 21 Javascript
Openlayers实现地图全屏显示
Sep 28 Javascript
JS实现数组去重及数组内对象去重功能示例
Feb 02 #Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
Feb 01 #Javascript
JavaScript动态创建二维数组的方法示例
Feb 01 #Javascript
Electron 如何调用本地模块的方法
Feb 01 #Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
Feb 01 #Javascript
原来JS还可以这样拆箱转换详解
Feb 01 #Javascript
微信小程序拍照和摄像功能实现方法示例
Feb 01 #Javascript
You might like
COM in PHP (winows only)
2006/10/09 PHP
利用static实现表格的颜色隔行显示
2006/10/09 PHP
PHP curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
初步介绍PHP扩展开发经验分享
2012/09/06 PHP
PHP可逆加密/解密函数分享
2012/09/25 PHP
php判断正常访问和外部访问的示例
2014/02/10 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
PHP防止表单重复提交的几种常用方法汇总
2014/08/19 PHP
PHP7之Mongodb API使用详解
2015/12/26 PHP
PHP基本语法实例总结
2016/09/09 PHP
深入解析PHP中SESSION反序列化机制
2017/03/01 PHP
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
jquery 查找select ,并触发事件的实现代码
2011/03/30 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
Node.js如何自动审核团队的代码
2016/07/20 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
2016/10/24 Javascript
Nodejs监控事件循环异常示例详解
2019/09/22 NodeJs
js实现踩五彩块游戏
2020/02/08 Javascript
[01:18:45]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第三场2月1日
2021/03/11 DOTA
Python连接mssql数据库编码问题解决方法
2015/01/01 Python
详解Django之admin组件的使用和源码剖析
2018/05/04 Python
Python基于百度云文字识别API
2018/12/13 Python
计算Python Numpy向量之间的欧氏距离实例
2020/05/22 Python
CSS3 3D酷炫立方体变换动画的实现
2019/03/26 HTML / CSS
HTML5触摸事件实现移动端简易进度条的实现方法
2018/05/04 HTML / CSS
SheIn沙特阿拉伯:女装在线
2020/03/23 全球购物
期中考试后的反思
2014/02/08 职场文书
法制演讲稿
2014/09/10 职场文书
退休劳动合同怎么写?
2019/10/25 职场文书
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL
Nginx实现负载均衡的项目实践
2022/03/18 Servers
漫改真人电影「萌系男友是燃燃的橘色」公开先导视觉图
2022/03/21 日漫
Win11怎么跳过联网验机 ?Win11跳过联网验机激活教程
2022/04/05 数码科技
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL
mysql查找连续出现n次以上的数字
2022/05/11 MySQL