转自:https://www.hangge.com/blog/cache/detail_2101.html
现在有越来越多的开发者使用 Vue.js 进行移动应用的开发,而如何将一个 Vue 项目打包成手机可用的 App 有很多方法。下面介绍如何使用 cordova 来打包 Vue 项目(这里以 Android 应用为例)。
一、准备工作
1,环境搭建
首先我们要搭建好 Cordova 环境、Android 环境,具体可以参考我之前写的这篇文章:
2,创建项目
新建一个 Cordova 项目(用于打包 Vue 项目),并添加 Android 平台文件。具体操作同样可以参考上面文章。
3,项目运行测试
(1)手机先装好设备驱动(这个很重要)
(2)将手机接上电脑,并设置为调试模式。
1 |
|
(3)运行命令:cordova run android -list 显示当前连接的 android 设备。
(4)运行命令:cordova run android -target="32309910caf57f11" 即可自动将工程编译安装到设备上,并启动真机进行调试。(target 里便是上面查到的设备编码)
如果你电脑只接了一台设备那么直接运行:cordova run android 就好了。
二、修改 Vue 项目
1,修改 config/index.js
将 build 属性节点下的 assetsPublicPath 该成 '' (注意是 build 下 的 assetsPublicPath,不要改 dev 下的了)
1 2 3 4 5 6 7 8 |
|
2,修改 index.html
这里我们手动将 cordova.js 添加进来。
1 2 3 4 5 6 7 8 9 10 11 |
|
3,修改 src/main.js
将 new Vue() 代码放到 deviceready 回调里面。(在使用 pc 开发调试时可以先把外层的这个监听给注释掉,等到要打包成 app 时再放开。)
1 2 3 4 5 6 7 8 9 |
|
三、打包 Vue 项目
(1)首先在 Vue 项目文件夹下运行如下命令进行编译:
1 |
|
(2)执行完成后会生成一个 dist 文件夹,我们将该文件夹里的所有文件复制到 cordova 项目的 www 文件夹下替换掉原有的文件。
(3)进入 Cordova 项目文件夹,执行如下命令就可以生成 App 并自动在手机上安装运行了。
1 |
|
附:让 Vue 项目直接编译到 Cordova 项目下
按照上面的操作,每次打包新版本,我们都需在 Vue 项目编译后手动将 dist 文件夹下的内容复制到 cordova 项目的 www 文件夹下。其实我们可以通过修改编译的发布路径,从而省去手动复制这个操作。
(1)假设我们的 Vue 项目和 Cordova 项目位置是平级的。
(2)修改 config/index.js 文件中 build 属性节点下的 index、assetsRoot 属性,将它们改成 Cordova 项目下的 www 文件夹(注意是 build 下 的 index、assetsRoot 属性,不要改成 dev 下的了)
1 2 3 4 5 6 |
|
(3)这样以后每次我们执行 npm run build 命令都回自动加文件编译到 Cordova 项目文件夹下。