IONIC3开发环境整理

前言

ionic V3是基于cordova和angular的混合开发平台,目前最新版V4

ionic v2/v3差别不大  v1没有基于angular v4可支持angular vue等

ionic v3官网文档地址  https://ionicframework.com/docs/v3/

安装环境

1. nodejs v10.16.3

安装 下载地址https://nodejs.org/dist/选择LTS版本下载安装

校验 打开CMD执行npm -version 和 node -version

2. ionic

安装 cmd执行 npm i -g [email protected]

校验 cmd执行 ionic -version

3.cordova

安装 cmd执行 npm i -g [email protected]

校验 cmd执行 cordova -version

4.nrm 切换npm仓库地址工具

安装 npm i -g nrm

使用 nrm ls  查看可切换仓库名

nrm use 仓库名  使用指定仓库名仓库,比如taobao

添加2.245上的npm私服地址

添加 nrm add 2.245 http://192.168.2.245:8083/repository/npm-group

切换 nrm use 2.245

查看 nrm config get registry

5,node-sass

项目安装依赖时会安装node-sass,它的binding. node文件经常404或下载失败

所以 配置系统环境变量

SASS_BINARY_PATH: D:\work\win32-x64-64_binding.node

指定binding. node文件(提供的node文件适用于windows64位nodejsv10.16.3)

提供的node文件下载地址ionic下的node文件

6,android环境

下载ionic目录中的gradle,sdk,jdk

6.1,jdk配置

jdk 解压jdk1.8.0_144.zip到自定义目录下

配置系统环境变量

变量名:JAVA_HOME

变量值:自定义目录\jdk1.8.0_91        // 要根据自己的实际路径配置

变量名:CLASSPATH

变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;        //记得前面有个"."

变量名:Path

变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

6.2,SDK

解压android_sdk到自定目录

配置环境变量

在系统变量新建:ANDROID_HOME,对应变量值为:(sdk安装路径根目录)

path中添加%ANDROID_HOME%\tools 和 %ANDROID_HOME%\platform-tools

校验 cmd执行adb devices检测连接到电脑的手机(手机需要打开USB调试)

以管理员身份运行sdk目录中的sdk manager

取消所有勾选,重新勾选tools所有,build-tools28.0.3,安卓28中勾选platform28

点下边下载,弹框全部选同意,开始下载

6.3,gradle构建工具

解压gradle到指定目录,配置系统环境变量

GRADLE_HOME=解压的gradle根目录

path中添加%GRADLE_HOME%\bin

检测gradle -version

6.4,adb 简单使用

adb tcpip 5555 连接数据线状态下开启无线模式(手机重启需要开启)

adb connect 手机ip:5555 连接指定ip的无线模式下的手机终端

adb shell 进入手机shell,如果提示close 则使用adb reconnect重连

多个设备的情况下,所有命令必须加  -s 设备名

adb install **.apk 安装app

7,ios环境

必须MAC系统,安装Xcode 7 or higher

8.开发常用命令

官方地址 https://ionicframework.com/docs/v3/cli/commands.html

8.1.创建项目 ionic start 项目名

参数  --type ionic1        创建ionic v1项目

  --type ionic-angular 创建ionic v3项目

示例选项有: tabs 一个具有简单选项卡式界面的启动项目

blank 一个空白项目

sidemenu 一个菜单侧边项目

super 一个完整示例

conference 演示realworld应用程序的项目

tutorial 包含引导的示例

aws aws手机启动示例

其他选项根据命令行提示来

? Install the free Ionic Appflow SDK and connect your app? (Y/n) 选择n

创建好进入项目根目录执行 ionic serve 浏览器浏览

8.2.运行已有/新项目到设备

1.使用nrm use taobao切换npm仓库

2.项目目录执行npm i 安装依赖,可重复执行保证依赖成功安装

3.添加平台ionic cordova platform add [email protected]

已存在平台,删除平台后重新添加

8.3.浏览器运行

ionic serve 可在浏览器8100端口运行浏览项目,涉及插件调用没处理的需要在真实设备运行

8.4.平台管理

ionic cordova platform remove android/ios 删除

ionic cordova platform add [email protected]/[email protected]  添加,版本不同生成的平台目录结构可能不同

查看项目根目录是否有platforms目录,下边有android或ios等目录

添加[email protected]后将xml/network_security_config.xml覆盖掉项目resource/android/xml中的

8.5.运行到android

adb devices 检测设备有没有连接上

ionic cordova run android -lc

-lc 热部署项目 到已连接设备(多个设备需要指定-s 设备名)

8.6.运行到ios

ionic corodva prepare ios 准备代码到platforms下的指定平台目录

在mac使用Xcode打开platforms/ios项目

具体查看https://ionicframework.com/docs/v3/intro/deploying/

9.打包

1.可以基于nodejs编写js脚本配合package.json的scripts中配置命令执行脚本和命令

nodejs 脚本可复制/删除/替换/操作源码文件配置文件等

比如:大部分项目中配置

"scripts": {

"builddebug": "node build/build.js build debug && ionic cordova build android --prod && node build/build.js exapk debug",

"buildrelease": "node build/build.js build release && ionic cordova build android --prod --release && node build/build.js exapk release",

分解:

node build/build.js build debug 执行build/build.js命令 传参build 和debug

ionic cordova build android --prod 打包安装的命令

node build/build.js exapk debug 执行build/build.js命令 传参exapk和debug

使用直接 npm run buildrelease 就会打包正式版并且重命名打包出来的apk文件,并复制到build目录,具体可看build.js脚本,自己写的,可参考

2.android

ionic cordova build android --prod --release 不借助js脚本执行成功后需要在平台对应目录下去找打包出来的apk

android打包签名

sdk环境包含的keytool生成签名文件

参考: https://www.jianshu.com/p/8b759b0a5c30 或 搜索android keytool使用

常用

//生成

keytool -genkey -keyalg RSA -keystore netbox.jks

//查看密钥库所有别名

keytool -list -keystore netbox.jks

//删除别名

//keytool -delete -alias 别名 -keystore netbox.jks

//增加别名

keytool -genkeypair -alias 别名 -keystore netbox.jks

项目根目录创建 build.json

参考cordova签名配置 https://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html#signing-an-app

3.ios

使用xcode打开platforms/ios项目后,完全按照ios项目使用Xcode打包发布即可

5.插件使用

管理

ionic cordova plugin add 插件id@版本

ionic cordova plugin remove 插件id

插件有依赖关系,删除的时候有可能提示先删除依赖者

相关

ionic插件文档https://ionicframework.com/docs/v3/native/

ionic插件基于cordova的,插件归根揭底还是corodva插件,ionic提供了ts定义

cordova插件文档在

https://cordova.apache.org/docs/en/latest/guide/hybrid/plugins/index.html

6.替换图标和启动屏

1.替换项目resources中的icon(1024×1024px)和splash(2732×2732)

2.安装cordova-res

执行npm i -g cordova-res  因为该工具依赖底层图像处理库,可参考下边问题记录处理安装过程中出现的问题

3.项目根目录执行,生成指定平台不同尺寸的图标和启动屏

cordova-res android/ios

7.创建页面,组件等

ionic generate [] [] 简写 ionic g [] []

type有component, directive, page, pipe, provider, tabs

示例: ionic generate page Login

ionic generate pipe MyFilterPipe

10.问题记录

  1. no such file or directory, scandir '*\node_modules\node-sass\vendor'

    + 因为没有成功安装bind文件

    + 解决

      + SET SASS_BINARY_PATH=%cd%/build/win32-x64-64_binding.node && npm rebuild node-sass

      + 查看node-modeles下的node-sass有了vendor/win32-x64-64目录

      + 将build中的win32-x64-64_binding.node复制到vendor/win32-x64-64目录,改名binding.node

  2. -lc 运行到手机的app加载报错ERR_ClEARTEXT_NOT_PERMITTED

      + 因为手机系统9.0的安全限制

      + 解决

        + 将xml/network_security_config.xml覆盖掉项目resource/android/xml中的

  3.组件加载不进来,执行命令ionic cordova prepare android


  4.安装依赖出现cordova-res装不上去的,可以先在package.json dev依赖中删掉cordova-res

  5.ionic cordova resource 503错误不能用了

因为新版本@ionic/cli使用了cordova-res

解决

    不用升级ionic cli 直接在项目安装cordova-res

    执行npm i cordova-res出现错误,按照下边的步骤解决

    cordova-res依赖sharp sharp使用到libvips libvips需要使用node-gyp现场编译源码安装

    一,libvips从github下载问题

    info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.9.1/libvips-8.9.1-win32-x64.tar.gz

    ERR! sharp getaddrinfo ENOENT github-production-release-asset-2e65be.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com:443

    解决:

    1.使用 npm config get chache查看node缓存目录

默认在C:\Users\用户名\AppData\Roaming\npm-cache\_libvips

    2.手动下载https://github.com/lovell/sharp-libvips/releases/download/v8.9.1/libvips-8.9.1-win32-x64.tar.gz

    3.放在node缓存目录下的_libvips中

    二,node-gyp.js问题

    1.npm install -g node-gyp

    2.npm config set node_gyp "node 您的npm安装目录\node_modules\node-gyp\bin\node-gyp.js"

    三,node-gyp在win10上使用提示找不到visual studio什么的

    执行npm i -g windows-build-tools

    会重启多次

    再次安装

    执行cordova-res -help

你可能感兴趣的:(IONIC3开发环境整理)