基于 Vue-cli 项目打包为移动端app

前言

我写操作喜欢写全,主要是自己懂得不多,相关方面的知识不能融会贯通,知识壁垒很多,网上七拼八凑看的教程,现在整理成一份完整的攻略以备后用。

 

打包的代码比较简单,没有复杂功能,是我写的方格游戏移动版。主要目的是想体验一下 vue 转 app 的操作过程。

感兴趣的可以看下游戏的PC版,移动版也有,但我朋友说她手机上玩不了,哈哈,我的手机能玩啊。

方格游戏

 

实践参考《基于Vue的项目打包为移动端app》

https://baijiahao.baidu.com/s?id=1655878004078867586&wfr=spider&for=pc

 

项目准备

使用vue-cli开始一个Vue新项目

使用vue-cli脚手架,开始一个新项目。详情在我的另一篇博客里有,这里不再赘述。

 

项目目录

之前做项目练习的时候,没想过打包,静态资源都是随便放。现在需要打包了,静态资源需要放在static下面,包括图片,js 等。

基于 Vue-cli 项目打包为移动端app

 

config下面的index.js

尤其要注意 assetsPublicPath: './'

基于 Vue-cli 项目打包为移动端app 

 

项目打包

打包前

在项目的根目录新建一个文件 vue.confing.js

这里我还弄的不是很明白,先记录一下。

文件内容

module.exports={
  ws:false, //是否代理websocket
  changeOrigin:false //是否跨域
}

 

执行打包

上面提到的参考攻略里使用的是 yarn build ,我用的是 npm run build.

在项目的根目录里,输入 npm run build 

基于 Vue-cli 项目打包为移动端app

 

打包完成 

打包完成后,会在项目根目录自动生成打包好的文件。

基于 Vue-cli 项目打包为移动端app

 

如果文件有修改需要重新打包,直接把dist文件夹删除就行。然后在命令窗口重新执行 npm run build

 

我最开始 touch.js 放错位置了,导致打出的包里缺少该文件。

后来包里有文件,双击包里的index.html文件也能看到页面,但开始游戏的时候报自定义js中的一个方法找不到。

EventUtil is not defined

EventUtil 这个方法,我在touch.js 中有定义。

仔细看,发现是文件引入方法错了,在 indexPage.vue 文件里还在用 <script> 标签。

发现后改为 import {EventUtil } from xx 

touch.js 中也使用了 export {EventUtil } 抛出

始终无法生效,再三确认和查过资料,语法没有问题。

查资料有说需要在 main.js 中引入 ,我还试了在 App.vue 中,都没有成功。

解决不了先放弃,简单粗暴,直接把自定义 js 代码放入 indexPage.vue ,完美解决问题。

 

发包

开发工具准备

下载 HBuilder

https://www.dcloud.io/

这个编辑器真的挺好用的,尤其是对前端开发者来说,是为vue专门设计的。我觉得很好用,还赞助了10块钱支持呢,哈哈。

 

新建项目

在 HBuilder 中新建项目。

基于 Vue-cli 项目打包为移动端app

 

将原来打包好的项目,文件转移到新建的空项目中,所有文件,选择覆盖。

基于 Vue-cli 项目打包为移动端app 

 

jre环境准备

jre 指 Java运行环境(Java Runtime Environment,简称JRE)

这有一篇特别好的文章,我就不多说了。

Windows环境下安装JDK、JRE和环境变量配置,详细的图文教程

 

就补充一下测试是否安装吧

在命令行中分别输入

java

javac

java -version

基于 Vue-cli 项目打包为移动端app

 

出现这种情况,先检查是否有安装 jre 或 jdk

echo %PATH%

echo %JAVA_HOME% 

基于 Vue-cli 项目打包为移动端app

 

有的话再检查环境变量是否忘记配了,检查了一下,果然没有配。具体的配置,引用的文章里写的很详细,我就是根据大神的指导完成的配置。

 

证书准备

操作不难,就自己生成一个证书,不要使用公共的。

Android平台签名证书(.keystore)生成指南

 

发行准备

在 DCloud 开发者中心使用 HBuilder 账号登录,创建一个新应用获取应用标识 AppID

https://dev.dcloud.net.cn/

基于 Vue-cli 项目打包为移动端app

 

打开 manifest.json 进行配置。

基于 Vue-cli 项目打包为移动端app

图标配置就选择一张图,然后选自动生成吧。 

 

开始打包

顶部工具栏,选择发行=》原生App云打包=>然后选择打android的包。

打包成功之后,会返回apk下载文件的下载链接。

基于 Vue-cli 项目打包为移动端app