ionic 3.0+ 項(xiàng)目搭建運(yùn)行環(huán)境的教程
本文介紹了基于ionic3.4.0的項(xiàng)目搭建,分享給大家,具體如下:
在寫這篇文章的時(shí)候,ionic版本已經(jīng)更新到3.4.0。手頭上有一大堆ionic1.x版本的項(xiàng)目,也在這個(gè)基礎(chǔ)上開發(fā)了許多第三方的插件。實(shí)在是按捺不住迭代重構(gòu)的想法,終于開始了3.x的升級(jí)。文中的內(nèi)容都是在實(shí)踐的過(guò)程編寫的,注意請(qǐng)不要著急升級(jí)版本。
環(huán)境遷移
先看下升級(jí)后最新的環(huán)境輸出信息
全局升級(jí)了Cordova和Ionic的版本,分別是7.0.1和3.4.0。輸出ionic info 打印出最新的環(huán)境配置信息。這里要特殊指出的是Ionic CLI。Ionic和Ionic CLI是不一樣的東西。Ionic CLI是基于nodeJS的工具腳手架,開發(fā)Ionic應(yīng)用程序過(guò)程中使用的主要工具。更新了最新的Ionic版本后,該工具也隨之升級(jí)。當(dāng)我們用Ionic CLI提供的命令去運(yùn)行打包項(xiàng)目時(shí),顯示如圖示。
為什么會(huì)出現(xiàn)如上圖所示的情況。在官博相關(guān)資料中有介紹,Ionic團(tuán)隊(duì)為了提高其性能和用戶體驗(yàn),重寫了CLI。更新后的其中一個(gè)變化就是和Cordova CLI交互相關(guān)的所有命令,都需要將cordova作為命令的一部分。以前我們是執(zhí)行以下命令
ionic platform add android ionic run/build android
在v3 CLI命令則是
ionic cordova platform add android ionic cordova run/build android
第一次在項(xiàng)目中執(zhí)行該命令,會(huì)彈出如下提示,是因?yàn)镮onic CLI的Cordova功能已被移植到一個(gè)插件中,當(dāng)檢測(cè)到?jīng)]有該插件時(shí),會(huì)提示用戶安裝。
看下cli-plugin-cordova 安裝前后的命令對(duì)比
現(xiàn)在,執(zhí)行ionic cordova run/build android就可以進(jìn)行調(diào)試打包了。再回到ionic 1.x項(xiàng)目的調(diào)試打包問(wèn)題,不管新舊項(xiàng)目,第一次運(yùn)行命令,也是會(huì)提示按照相應(yīng)的插件,和v3略有不同。
再說(shuō)起cordova,其實(shí)以上命令也都是基于Cordova CLI,那么,如果用Cordova CLI提供的命令來(lái)打包,是不是也是可以執(zhí)行。這當(dāng)然可以,只是新的工具提供了更多的命令,比如ionic generate(簡(jiǎn)寫: ionic g),可以更加高效的構(gòu)建項(xiàng)目。拿官博提供的一個(gè)例子說(shuō)下。
$ ionic g tabs ? What should the name be? myTab ? How many tabs? 4 ? Name of this tab: home ? Name of this tab: maps ? Name of this tab: contacts ? Name of this tab: more [OK] Generated a tabs named myTab!
再比如ionic g page myPage、ionic g provider MyData,都可以快速的為我們構(gòu)建模塊化、結(jié)構(gòu)化的目錄。工具的作用就是提高我們的開發(fā)效率,具體怎么使用,見仁見智了。如果習(xí)慣了依舊可以使用cordova,但為了往后面的版本靠攏,升級(jí)也無(wú)可厚非。
版本降級(jí)
說(shuō)完環(huán)境遷移,說(shuō)說(shuō)版本回退的問(wèn)題。在升級(jí)到3.4.0之前,因?yàn)橛猩?jí)到2.x的經(jīng)歷,導(dǎo)致1.x項(xiàng)目也是無(wú)法正常運(yùn)行打包,因此對(duì)版本進(jìn)行了回退。而在升級(jí)到3.3的時(shí)候,折騰了半天也沒(méi)發(fā)現(xiàn)命令重構(gòu)成ionic cordova。所以把Ionic CLI降級(jí)回退到了2.x,這時(shí)候ionic start 都是1.x的版本,再通過(guò)ionic start xxx –v2的方法去下載ionic框架在github最新的demo,這時(shí)候下載的就是最新的3.x版本。2.x->3.x只是版本號(hào)的迭代,所以執(zhí)行–v2是會(huì)下載最新的demo源碼。
npm uninstall -g ionic npm cache clean npm install -g ionic@2 ionic start myProject blank
此時(shí)我的環(huán)境是這樣子的
可以看到Ionic CLI 的版本是2.x,而項(xiàng)目下載是最新3.x的源碼,同樣執(zhí)行基于Ionic CLI 2.x版本的命令,都是可以正常運(yùn)行打包任何項(xiàng)目的。通過(guò)這種辦法,也是可以同時(shí)運(yùn)行加載1.x到3.x的項(xiàng)目,至于使用哪種辦法,各取所需吧。
學(xué)習(xí)使用官方Demo
官方在1.x的時(shí)候提供了blank/sidemenu/tabs 三種demo模板,開發(fā)時(shí)可以根據(jù)不同的需求學(xué)習(xí)或使用對(duì)應(yīng)的模板。在3.x之后,新增了super和tutorial兩種模板。
tabs : a simple 3 tab layout
sidemenu: a layout with a swipable menu on the side
blank: a bare starter with a single page
super: starter project with over 14 ready to use page designs
tutorial: a guided starter project
ionic start MyIonicProject tutorial
下載模板命令不變,如果沒(méi)有指定模板,默認(rèn)是tabs。在這里我推薦使用super模板,可以較快的掌握基礎(chǔ)語(yǔ)法和了解基礎(chǔ)的項(xiàng)目架構(gòu)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JS簡(jiǎn)單編號(hào)生成器實(shí)現(xiàn)方法(附demo源碼下載)
這篇文章主要介紹了JS簡(jiǎn)單編號(hào)生成器實(shí)現(xiàn)方法,涉及JavaScript針對(duì)表單與字符串操作的相關(guān)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-04-04JavaScript 中的12種循環(huán)遍歷方法【總結(jié)】
本文給大家總結(jié)了12種JavaScript 中的1循環(huán)遍歷方法,每種方法通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-05-05微信小程序中如何使用flyio封裝網(wǎng)絡(luò)請(qǐng)求
這篇文章主要介紹了微信小程序中如何使用flyio封裝網(wǎng)絡(luò)請(qǐng)求,F(xiàn)ly.js 通過(guò)在不同 JavaScript 運(yùn)行時(shí)通過(guò)在底層切換不同的 Http Engine來(lái)實(shí)現(xiàn)多環(huán)境支持,但同時(shí)對(duì)用戶層提供統(tǒng)一、標(biāo)準(zhǔn)的Promise API,需要的朋友可以參考下2019-07-07Apply an AutoFormat to an Excel Spreadsheet
Apply an AutoFormat to an Excel Spreadsheet...2007-06-06JavaScript中object和Object的區(qū)別(詳解)
下面小編就為大家?guī)?lái)一篇JavaScript中object和Object的區(qū)別(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02JavaScript數(shù)據(jù)結(jié)構(gòu)之雙向鏈表定義與使用方法示例
這篇文章主要介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)之雙向鏈表定義與使用方法,簡(jiǎn)單介紹了雙向鏈表的原理,并結(jié)合實(shí)例形式分析了雙向鏈表的定義與使用方法,需要的朋友可以參考下2017-10-10javascript實(shí)現(xiàn)圖片預(yù)加載和懶加載
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)圖片預(yù)加載和懶加載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03JS動(dòng)態(tài)增加刪除UL節(jié)點(diǎn)LI及相關(guān)內(nèi)容示例
這篇文章主要介紹了JS如何動(dòng)態(tài)增加刪除UL節(jié)點(diǎn)LI及相關(guān)內(nèi)容,需要的朋友可以參考下2014-05-05js控住DOM實(shí)現(xiàn)發(fā)布微博效果
這篇文章主要為大家詳細(xì)介紹了js控住DOM實(shí)現(xiàn)發(fā)布微博效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08