现在国内越来越多的开发者使用Vue开发混合app,但是当大家开发完成过后才发现不知道该怎么将Vue项目打包成app。
现在的打包Vue项目目前流行的就是使用weex和cordova。weex是阿里提供并且Vue的作者也极力推荐的,有兴趣的可以去学习使用一下。下面说说怎么使用cordova打包Vue项目:
第一步:安装cordova,创建好cordova项目。
第二步:修改vue项目
首先修改vue项目的index.html,引入cordova.js。这个引入在浏览器打开会报错。要打包后运行在真机后方可看到效果
然后修改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: '', 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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。