ionic項目環境搭建指南

目錄

  • 說明
  • 環境搭建
  • 起始一個ionic項目
  • angular(操作數據)在項目中常用到的點,以及與jq(操作dom)思維方式的不同
  • 我惠項目目錄結構
  • 插件小解

說明

ionic 它是在cordova的基礎上增加了 ionic UI ,angular.js,還有一些強大的cli工具,以及一些前端自動化構建的知識,以用來開發單頁面app的一個前端框架,所以想要用它開發app,我們必須了解下上面提到的東西

  1. ionic ui: 它提供了app開發基本的樣式,如選項卡組件(ionTab),導航組件(ionic-nav-view),列表組件,它提供了兩種選擇,一種是基于css的組件,一種的基于js組件(在angular里面叫做指令),【注意】:導航,內容包裹,下拉刷新,上啦加載等時一般使用js組件
  2. angular.js: 就是一個基于mvc模式將項目劃分并且具有雙向綁定特點的用于開發單頁面應用(spa)的js框架
  3. cordova: 提供了一系列插件用來訪問系統設備,以及打包的工具

1 環境搭建

一個ionic項目所需要的環境有

  • node
  • ionic&cordova命令行環境(cli)
  • jdk
  • android sdk(安卓開發工具包,用來打包安卓應用)
  • xcode(打包蘋果應用,調試工具)

安裝nodejs

前往node.js官網https://nodejs.org/zh-cn/下載最新穩定版本的安裝包安裝即可,安裝完成之后
node -v 查看node版本【注】我的版本為v7.10.0
npm -v 查看npm版本 【注】4.2.0

安裝cnpm

因為npm服務區在國外,有的包下載可能被墻,導致下載不下來報錯,比如頭疼我很久的node-sass,所以我強烈建議在安裝ionic跟cordova命令行之前先安裝國內的淘寶鏡像

npm install -g cnpm --registry=https://registry.npm.taobao.org
安裝完成之后 cnpm -v查看版本信息【注】5.1.1

安裝Codova && ionic

cnpm install -g cordova ionic
安裝完成之后,輸入cordova -v ,ionic -v,能顯示版本號則表示安裝成功
【注】cordova 7.1.0 && ionic 3.12.0(每次會讓你升級,建議不要升)

安裝gulp

cnpm install -g gulp
【gulp】任務流形式的前端自動化構建工具

安裝jdk

參考www.lxweimin.com/p/b9757a5bcb07,很簡單這里不再贅述,注意配置環境變量

安裝sdk

Android提供了兩個選項:Android studio或者 Android的獨立sdk開發工具,我建議只安裝SDk,如果您的電腦配置好的話,建議還是a s
http://tools.android-studio.org/index.php/sdk/
【注】:當下載下來android sdk之后,配置完環境變量,要以管理員身份運行cmd,輸入安卓下載對應的包,不然下載的時候回報錯,很大,建議wifi環境下載...

xCode 最新版

2 起始一個ionic 項目

  • ionic start myApp tabs(創建一個帶底部切換tab的ionic應用,當然你也可以選擇創建一個空模板)
  • 創建安卓應用
  • cd myApp
  • ionic serve (瀏覽器環境查看)
  • ionic platform add android (添加安卓設備)
  • 添加完成之后,通過數據線連接電腦(打開開發者選項,usb調試),ionic run android --device
創建 ios應用一樣
  • ios模擬器查看: ionic emulate ios -l -c(熱重載功能)

三 angular(操作數據)在項目中常用到的點,以及與jq(操作dom)思維方式的不同

  • 現在你要思考的是頁面布局在發生一些動作后會產生變化(顯示/隱藏,比如購物車頁面,當你的購物車里面有數據的時候會顯示你要買的東西,那如果沒有呢?則顯示一段文案/或者圖片,購物車空空如也。)
  • 我們可以把整個程序看作是一個狀態機(

初始狀態-----------------------------------隨著用戶的操作狀態不斷變化

我們通常用一些列變量(數組/對象)來標識狀態,比如播放視頻的初始狀態是什么呢?

  • 是否正在播放
  • 是否播放結束了
  • 播放進度的初始值
  • ........
    當用戶進行了操作,點擊播放按鈕等等,從而改變這些狀態的值,(從而實現播放視頻)
    還比如一個列表數據(數組),初始的狀態為空數組,在我們請求到服務器數據后,對初始數組做變化(狀態即數據),也可以再加載過來之前顯示一個正在加載的動畫

四 打包app

ionic platform add android

我在添加安卓平臺的時候出現了一個錯誤,The platform command has been renamed. To find out more, run:

ionic cordova platform --help
其實是ionic cli的版本過高,建議降級到ionic cli 2.x版本
執行ionic info可以查看當前的ionic相關的環境變量,我的如下

Your system information:
ordova CLI: 7.1.0
Ionic Framework Version: 3.9.2
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 3.1.0
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 10
Node Version: v8.9.1
Xcode version: Not installed

另外,你要使用高版本cli創建ionic1.x的項目,請使用
ionic start myApp blank --type=ionic1 創建一個空白的app項目
ionic start myApp tabs --type=ionic1 創建一個帶有tabs項目
ionic start myApp sidemenu --type=ionic1 創建一個帶有滑動的項目

解決方案:
確定你當前系統上ionic cli的版本,ionic -v,如果不是2.x版本,使用下面命令降級

npm uninstall -g ionic
npm cache clean
npm install -g ionic@2

ionic start you-project blank
如果出現: Error: Cannot find module 'q'的錯誤,本地下載安裝對應模塊即可,
【注】:--save --save-dev的區別,前者是向package.json里面添加項目發布所依賴的模塊,后者是添加自動化構建,轉譯等所要依賴的模塊

1 打debug包

在工程目錄下執行cordova build android, 會在xxx\platforms\android\build\outputs\apk下生成android-debug.apk
這種命令生成的apk是用于調試的。
【出現的問題】:grade相關錯誤
【解決方法】:添加環境變量 _JAVA_OPTIONS = -Xmx512M
安裝到手機
2 連接手機或者打開模擬器,在xxx\platforms\android\build\outputs\apk下打開命令窗口執行adb install android-debug.apk就能將apk安裝在手機或者模擬器上了。

2 兩種打包的版本

一種是debug調試版,一種是release發布版

1 打包debug調試版

在工程目錄下執行ionic build android,生成的apk就是debug調試版本

2 打包release發布版

在工程目錄下執行ionic build andorid --release,生成的apk就是release發布版本。
如果沒有配置簽名文件則默認只生成android-release-unsigned.apk,沒有簽名的apk。release版本是必須有簽名才能在手機上運行。

3 生成簽名

keytool -genkey -v -keystore name.jks -alias alias_name -keyalg RSA -keysize 2048 -validity 10000  

name.jks,name可以自定義,jks是Android studio生成的簽名文件的后綴,這里默認使用jks也可以;
alias_name是別名,也是自定義的
具體訪問:http://www.lxweimin.com/p/dfd98ad47af1

四 出現的問題總結

1 ## 執行ionic build android (或cordova build android)打包時報錯的解決方案

錯誤如下:

Error: Could not find an installed version of Gradle either in Android Studio,
or on your system to install the gradle wrapper. Please include gradle
in your path, or install Android Studio

解決方案:

  • 1、手動下載gradle

gradle-x.x-bin.zip (x.x代表版本)

根據需要下載某一版本

地址:

(https://services.gradle.org/distributions)

  • 2、添加環境變量
    PATH=C:\Program Files\gradle-x.x\bin

ionic serve 報【ionic-app-scripts' 不是內部或外部命令 】問題解決

1、cd至項目路徑 輸入命令:npm install @ionic/app-scripts@latest --save-dev

運行后,繼續報錯,下拉查看錯誤信息后,有提示 “This usually happens because your environment has changed since running 'npm install'. Run 'npm rebuild node-sass' to build the binding for your current environment.”

2、按提示 在項目路徑下輸入:npm rebuild node-sass

3、重試ionic serve,成功!問題解決!

2

它提示的很明顯了:npm WARN Invalid name: "lockeroots的手記",無效的name字符,不要用中文

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,546評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,570評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,505評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,017評論 1 313
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,786評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,219評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,287評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,438評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,971評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,796評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,995評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,540評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,230評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,918評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,697評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,991評論 2 374

推薦閱讀更多精彩內容