Cordova插件須知

ionic可以很方便的安裝cordova插件,最新ionic-cli要求cordova插件里面有package.json和plugin.xml才能安裝成功,如果缺失,請自行補上,而原來舊的cli不要求package.json文件(插件目錄里的,不是ionic項目里的)。

ionic1時期,除了使用cordova插件外,更方便使用插件是用ng-cordova,到了ionic2及以上,ng-cordova又演變成了ionic-native,ionic-native其實不是插件,它是基于typeScript封裝了cordova插件的調(diào)用模塊,也就是說ionic-native只是調(diào)用庫,而不包含插件代碼。

cordova插件常用功能是添加、移除和顯示已安裝插件列表,依此為以下命令:

ionic cordova plugin add DemoPlugin

ionic cordova plugin rm DemoPlugin

ionic cordova plugin ls

當(dāng)安裝完cordova插件后,一般有兩種方式調(diào)用cordova插件:

1、基于cordova常規(guī)調(diào)用方式

若DemoPlugin.doSomething()為插件文檔里的方法,則可以這樣調(diào)用,在import之后,@Component之前加上declare的聲明代碼。(不然會無法識別DemoPlugin而報錯,any表示一個任意類型,這樣無論調(diào)用什么方法,都不會警告,如果你知道具體什么類或者接口,能把any換成對應(yīng)的)。

declare let DemoPlugin: any;

然后在代碼里調(diào)用

DemoPlugin.doSomething();

這種方式的弊端是非常依賴cordova文檔,如DemoPlugin不會關(guān)聯(lián)到cordova插件源碼,換句話說DemoPlugin點后面不會有相應(yīng)的方法或?qū)ο螅瑥亩荒芰私馄涫褂眯畔ⅰ?/p>

2、基于ionic-native調(diào)用

早期的ionic-native是一個全部插件的封裝調(diào)用庫模塊,隨著插件越來越多,封裝的ionic-native就越來越大,雖然只需import ionic-native一次,但是絕大多數(shù)插件沒有使用就封裝進(jìn)來就顯得很冗余了,特別是對于移動端對資源特別苛刻的情況下,開發(fā)者的意見越來越大,于是ionic-native被重構(gòu):加了@同時,除了core外,其它拆分成一個個模塊。這樣當(dāng)裝哪個cordova插件時,再裝對應(yīng)的native子模塊即可(以@ionic-native做前綴),如下面所示:

ionic cordova plugin add splash-screen;

npm install @ionic-native/splansh-screen --save;

最后會反映到package.json里,

"@ionic-native/core":"3.12.1",

"@ionic-native/splash-screen":"3.12.1",

調(diào)用方式為import后在ts調(diào)用即可。

這種方式的好處是,基于typeScript的class概念,每個方法屬性都能較清楚地看到定義和說明。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容