emmmm, 一直徘徊在移动端采用什么技术比较好,一直也没有找到,让我为了一个移动端而去学习一波react全家桶是不现实的操作,反观自己的技术栈,通过长时间的对比和剖析找到了入口点,不管了先会写再说吧,没有过的评价都是瞎BB,cordova + ionic +angular6之旅正式开启
cordova是什么?为什么我要从它入手?
按照我浅浅的理解,cordova是让前端人员仅仅使用已掌握的知识达到JS也能控制访问设备硬件的一个中间层,由前端人员编写相应的JS代码,由cordova来做中间人吧JS代码的意思转译成各种设备能听得懂的“命令”从而做相应的操作的一种机制。
之所以从他入手是,技术栈是ANGULAR,移动端自然而然的就切换到了ionic但是呢,其实还有nativescript,个人更看好ns,但是呢由于呢ns刚出现的时间不是很长,社区自然就弱啦,cordova的前身如果我讲得没有错的话是phonegap,算是一种老技术了,已经有很完善的文档以及很多人都采坑了,遇到坑一搜一大把emmm,废话不多说啦,此篇介绍环境配置到创建一个应用
环境搭建
环境搭建可谓是非常非常关键啊,搭建不好项目根本起不来
1、安装node
2、安装npm
上述两个安装直接去官网下载操作系统对应的安装包,傻瓜式安装,安装好后进入cmd 通过 node -v npm -v 查看版本,如果都出来啦,就证明都安装成功啦
3、安装JDK
根据官方文档说的,虽然JDK已经出了10 了,或者你看到更高的版本,但是都要安装JDK8 更高版本暂不支持
关于JDK的安装,直接搜索JDK DOWNLOAD即可,或者到cordova官网有个JDK8的传送门
4. 配置系统环境变量
到目前为止配置如下几个环境变量
配置完成后,通过cmd 输入path命令查看是否有以上环境变量路径,有的话就是配置成功了
5. 安装ANDROID STUDIO
emmmm, 既然要涉及SDK,等等,可以选择性的装或者不装,不装的童鞋,去安卓官网点击下载的时候会有几个选项,一个是下载Android studio一个是下载SDK之类的相关工具包二选一,我这里是下载了,因为可能会用到打包的时候,毕竟曾经学过安卓开发哈哈
6. 安卓了AS童鞋继续走,第一次打开AS的时候,会让你下载SDK 、 platform tools就都下载好啦,下载完成后,在页面的AVD按钮点击创建一个模拟器,版本26开始,不要过高,并且下载想要的SDK
7. 配置一下环境变量
一样的,配置完成后通过cmd 输入path命令查看以上路径是否存在
至此,环境算是该下载的就下载完了,该配置的也配置完了,那么开始进入cordova操作阶段
使用cordova创建第一个应用
// 1. 创建工程 cordova create hello com.example.hello HelloWorld // 2. cd hello工程文件 // 3. 添加要编译的平台 ,这里我以安卓为例 cordova platform add android | ios // 具体还可以安装什么可以通过 cordova platform add --help 查看 // 4. 查看已经添加的平台 cordova platform ls // 5. 检查要打包的依赖环境是否都齐了,没有齐全的话在terminal中显示想要的那些不齐全 cordova requirements // 6. 打包成相应的设备,这里打包成安卓项目 cordova build andorid // 打包成功后会出现一个platforms的文件夹,这个文件夹不要自己随便改动,而且每次WWW文件夹有变化的话就要重新打包,想要重新打包的话就要先把之前下载的paltform 删掉在重新add进来在打包,包括安装新的插件也是如此 // 7. 运行 // 在模拟器中运行 cordova emulate // 也可以指定要再哪个模拟器上运行,模拟器的名称如果是空格的就换成下划线 // cordova emulate --AVD_PIXES_26 // 在真机中运行 // cordova run andorid // 真机调试不能文件变一下就会自动联调,需要自己重新输入一下真机运行的命令才可以
至此,一个简单的cordova应用就能被运行出来了
TIPS
1、 在AS中导入cordova项目也能打包,只要把cordova project import进入AS 然后选中项目的platform/android文件夹 然后gradle sync一下就可以打包啦;
2. cordova的官网上表明cordova有很多版本,每个cordova-andorid的版本想上支持和向下兼容的范围不一样,可以通过cordova platform add android@版本号 --save 进行变换
3. 添加插件,cordova神奇之处就是他的插件了,他的插件帮我们做了很多处理来调用设备的硬件
// 添加插件 cordova plugin add 插件名 // 添加插件之前要装平台 // 查看已经安装的插件 cordova plugin ls // 诺要安装插件,要将原有的platform remove掉,在重新add进来
4. remove platform
cordova platform remove android