用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 相关文章推荐
第一个JavaScript入门基础 document.write输出
Feb 22 Javascript
JavaScript中的cacheStorage使用详解
Jul 29 Javascript
详解Javascript事件驱动编程
Jan 03 Javascript
JS实现关闭当前页而不弹出提示框的方法
Jun 22 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
Aug 11 Javascript
js实现五星评价功能
Mar 08 Javascript
jquery dataTable 后台加载数据并分页实例代码
Jun 07 jQuery
vue 怎么创建组件及组件使用方法
Jul 27 Javascript
Angular PWA使用的Demo示例
Jan 31 Javascript
详解Webpack抽离第三方类库以及common解决方案
Mar 30 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
Sep 14 Javascript
js实现简单图片拖拽效果
Feb 22 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
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
2014/04/29 PHP
PHP5.3新特性小结
2016/02/14 PHP
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
BOM与DOM的区别分析
2010/10/26 Javascript
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
Nginx上传文件全部缓存解决方案
2015/08/17 Javascript
JavaScript使用DeviceOne开发实战(一) 配置和起步
2015/12/01 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
2016/08/10 Javascript
探究JavaScript中的五种事件处理程序方式
2016/12/07 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
javascript实现二叉树遍历的代码
2017/06/08 Javascript
node koa2实现上传图片并且同步上传到七牛云存储
2017/07/31 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
vuex(vue状态管理)的特殊应用案例分享
2020/03/03 Javascript
微信小程序点击滚动到指定位置的实现
2020/05/22 Javascript
[43:58]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第二局
2016/02/27 DOTA
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
python 字符串格式化代码
2013/03/17 Python
详解Python if-elif-else知识点
2018/06/11 Python
使用PyCharm创建Django项目及基本配置详解
2018/10/24 Python
通过python爬虫赚钱的方法
2019/01/29 Python
Python中一个for循环循环多个变量的示例
2019/07/16 Python
Python学习笔记之Break和Continue用法分析
2019/08/14 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
国际贸易专业个人鉴定
2014/02/22 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
商业计划书范文
2019/04/24 职场文书
python中的3种定义类方法
2021/11/27 Python