官方文檔:Installing Ionic - Ionic Documentation
一翰舌、環(huán)境搭建
1.刪除舊版本ionic
npm uninstall -g ionic
2.安裝新版本
npm install -g @ionic/cli
值得注意的是嚣潜,ionic的資源包變?yōu)榱薸onic/cli
二、創(chuàng)建項(xiàng)目
在cmd或終端進(jìn)入合適的目錄椅贱,然后運(yùn)行命令:
ionic start 項(xiàng)目名稱 tabs
然后選擇項(xiàng)目類型(Angular懂算、React、Vue)庇麦,這里選擇的是Angular计技,回車
大概意思是是否集成capacitor,這里暫時(shí)先選NO山橄,等待安裝node_modules
是否創(chuàng)建ionic賬號垮媒,選擇NO,項(xiàng)目創(chuàng)建完成航棱,然后進(jìn)入創(chuàng)建的項(xiàng)目目錄下睡雇,輸入命令啟動(dòng)服務(wù):
ionic serve?
啟動(dòng)成功!
三饮醇、添加平臺(tái)
3-1 capacitor
3-1-1 添加安卓平臺(tái)
ionic capacitor add android
沒有www文件入桂。嘗試運(yùn)行一下ionic build,然后再次運(yùn)行添加平臺(tái)命令驳阎,項(xiàng)目中多了android文件夾
因?yàn)楣俜讲]有提供直接打包的命令抗愁,需要借助android studio來打開安卓項(xiàng)目馁蒂,在項(xiàng)目中運(yùn)行命令:
npx cap open android
這樣直接啟動(dòng)android studio并打開該安卓項(xiàng)目
對于android studio的安裝和android_SDK以及安卓模擬器的配置可以自行了解學(xué)習(xí)一下,我這里是已經(jīng)搭建好的安卓開發(fā)環(huán)境蜘腌。
點(diǎn)擊運(yùn)行按鈕沫屡,就可以在模擬器上運(yùn)行該程序
每次對ionic項(xiàng)目做更改需要把這些更新同步到安卓項(xiàng)目中,需要運(yùn)行命令:
ionic capacitor copy android
3-1-2 添加iOS平臺(tái)
在項(xiàng)目目錄下運(yùn)行命令:?
ionic capacitor add ios
報(bào)錯(cuò)了撮珠,大概是因?yàn)閏ocoapos沒有安裝或者版本過低沮脖,嘗試更新一下cocoapos
打開終端,輸入sudo gem install cocoapods來升級CocoaPods芯急;
如果遇到
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.
這個(gè)錯(cuò)誤的話就改用sudo gem install cocoapods -n /usr/local/bin命令即可勺届。
接下來刪除ios文件夾,重新添加ios平臺(tái)娶耍,
根據(jù)提示免姿,用xcode打開該ios項(xiàng)目
npx cap open ios
點(diǎn)擊運(yùn)行按鈕,在iOS模擬器上查看效果
3-2 cordova
使用cordova添加平臺(tái)和以前的ionic版本是一樣的榕酒,首先嘗試添加一下android平臺(tái):
ionic cordova platform add android
發(fā)現(xiàn)報(bào)錯(cuò)了胚膊,提示在capacitor的項(xiàng)目中不可以使用cordova,如果使用cordova需要禁用capacitor:
ionic integrations disable capacitor
禁用成功想鹰。
再次添加安卓平臺(tái)紊婉,提示是否集成cordova,輸入y
然后又又又報(bào)錯(cuò)了辑舷。
這是什么鬼喻犁,以前用cordova添加平臺(tái)沒有遇見過,我猜測可能是跟capacitor添加的android文件沖突何缓,于是刪除android文件夾再試一次肢础。
果然添加成功!
再嘗試一下cordova能不能打包成功:
ionic cordova build android
打包也成功了歌殃。
接著又嘗試了一下用cordova添加和打包iOS乔妈,跟處理android平臺(tái)的方式一樣蝙云,先把ios文件夾刪除氓皱,再進(jìn)行添加和打包操作,都成功了勃刨。
事實(shí)證明波材,新版的ionic版本既可以集成最新的capacitor,也兼容集成cordova身隐。