用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实现的UBB编码函数
Mar 09 Javascript
Javascript获取HTML静态页面参数传递值示例
Aug 18 Javascript
js弹窗返回值详解(window.open方式)
Jan 11 Javascript
JS当前页面登录注册框,固定DIV,底层阴影的实例代码
Sep 29 Javascript
基于cookie实现zTree树刷新后展开状态不变
Feb 28 Javascript
Bootstrap响应式表格详解
May 23 Javascript
Mac系统下Webstorm快捷键整理大全
May 28 Javascript
ES6 Array常用扩展的应用实例分析
Jun 26 Javascript
基于Vue SEO的四种方案(小结)
Jul 01 Javascript
实现一个Vue自定义指令懒加载的方法示例
Jun 04 Javascript
八种Vue组件间通讯方式合集(推荐)
Aug 18 Javascript
vue 数据双向绑定的实现方法
Mar 04 Vue.js
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
php上的memcache和memcached两个pecl库
2010/03/29 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
利用“多说”制作留言板、评论系统
2015/07/14 PHP
php简单实现数组分页的方法
2016/04/30 PHP
PHP 闭包详解及实例代码
2016/09/28 PHP
用javascript连接access数据库的方法
2006/11/17 Javascript
jquery()函数的三种语法介绍
2013/10/09 Javascript
鼠标滚轮改变图片大小的示例代码
2013/11/20 Javascript
代码触发js事件(click、change)示例应用
2013/12/13 Javascript
javascript中SetInterval与setTimeout的定时器用法
2015/08/24 Javascript
基于slideout.js实现移动端侧边栏滑动特效
2016/11/28 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
2017/06/13 Javascript
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
nodejs中用npm初始化来创建package.json的实例讲解
2018/10/10 NodeJs
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
详解在Angular4中使用ng2-baidu-map的方法
2019/06/19 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
python用装饰器自动注册Tornado路由详解
2017/02/14 Python
Tensorflow 实现修改张量特定元素的值方法
2018/07/30 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
2018/08/25 Python
Python中GIL的使用详解
2018/10/03 Python
python 自定义异常和异常捕捉的方法
2018/10/18 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
2019/11/30 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
python网络编程socket实现服务端、客户端操作详解
2020/03/24 Python
h5页面背景图很长要有滚动条滑动效果的实现
2021/01/27 HTML / CSS
Unix如何在一行中运行多个命令
2015/05/29 面试题
化工工艺专业求职信
2013/09/22 职场文书
店长岗位的工作内容
2013/11/12 职场文书
党员公开承诺书
2014/03/25 职场文书
葬礼主持词
2015/07/02 职场文书
大学生十八大感想
2015/08/11 职场文书