vue-cli3使用和Cordova集成记录
1. 安装
安装过程很简单
1 | npm install -g @vue/cli |
安装后使用vue --version
查看是否安装成功
2. 创建项目
1 | vue create demo |
选项
- 默认
- 手动选择
我们选择手动选择功能,具体选择如下
1 | ? Please pick a preset: Manually select features |
选择完成后自动安装依赖,据观察如果本地安装了 yarn 的话,会使用 yarn 安装依赖。
1 | cd demo |
3. 项目结构和配置
vue-cli 3 生成的项目结构比 2 的要简单很多,去掉了 build、config、等文件夹
根目录两个文件夹
- src 源代码放在这里
- public 原先的 index.html 放在这个文件夹
除了两个文件夹还包括几个文件
- .eslintrc.js eslint 配置文件
- .gitignore git 的文件,用来配置忽略文件和文件夹的
- .postcssrc.js 我也不懂。。。
- babel.config.js 配置 babel 转译用的,保持不变即可
还有一个可选的配置文件 vue.config.js 默认是没有这个文件的,需要自己创建。
自用的几个配置项
1 | module.exports = { |
4.安卓打包
首先构造 Cordova 项目结构
第一个就是静态文件存放目录,www 文件夹,这就是配置
outputDir
的原因另外 Cordova 还需要 res 文件夹,存放 icon,screen 等。我是直接从 Cordova 生成项目中复制出来的。
最重要的是 config.xml 文件(也是复制过来的?)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<widget id="com.wugeek.zbyx" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>众邦优选</name>
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="[email protected]" href="http://cordova.io">
Apache Cordova Team
</author>
<content src="index.html" />
<plugin name="cordova-plugin-whitelist" spec="1" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
<icon density="ldpi" src="res/icon/android/mipmap-ldpi/ic_launcher.png" />
<icon density="mdpi" src="res/icon/android/mipmap-mdpi/ic_launcher.png" />
<icon density="hdpi" src="res/icon/android/mipmap-hdpi/ic_launcher.png" />
<icon density="xhdpi" src="res/icon/android/mipmap-xhdpi/ic_launcher.png" />
<icon density="xxhdpi" src="res/icon/android/mipmap-xxhdpi/ic_launcher.png" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
<engine name="android" spec="^7.0.0" />
</widget>plugins 和 platforms 文件夹不用手动建。会自动生成
然后添加安卓平台cordova platforms add android
最后编译运行cordova run android
值得注意的是,这个时候 cordova 插件是有问题的,因为没有引用 Cordova.js 文件
所有在mian.js
中判断当前平台添加cordova.js
1 | if (window.location.protocol === "file:" || window.location.port === "3000") { |
安装vue-cordova
这个插件,可以更方便访问 Cordova 的方法和属性
1 | Vue.cordova.on("deviceready", () => { |
PS :写的时候参考了 cli/vue3 的官网,发现已经有了中文翻译了?。就在半个月前还没有,抠配置配了好长时间。各位还是去官网看教程吧,写的很详细。cli vue3 地址点此
Cordova 项目打包
生成 release 版本项目cordova build android --release
生成签名文件(有的话就不需要了)keytool -genkey -v -keystore my.keystore -alias demo -keyalg RSA -keysize 2048 -validity 10000
签名jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my.keystore app-release-unsigned.apk demo
写一个 build.js 再根目录自动完成,先把 keystore 文件放到根目录
1 | { |