Ionic 5: “ionic cordova plugin add” и “npm install @ionic-native/plugin --save”

Возьмем к примеру этот плагин
Устанавливается так:

ionic cordova plugin add call-number
npm install @ionic-native/call-number

npm и cordova


Возьмем другой плагин
Устанавливается так:

npm install call-number
OR
yarn add call-number

Только npm


Третий плагин устанавливается так:

cordova plugin add cozzbie.plugin.phonecalltrap

Только cordova


Для чего в первом варианте используется и npm и cordova, почему нельзя использовать что-то одно?

...забегаю наперед...
Когда я буду писать свой плагин, могу ли я использовать что-то одно?
Если нет, то почему (скорее всего ответ в первом вопросе), если да, то что предпочтительнее npm\yarn или cordova?


Ответы (1 шт):

Автор решения: MiT

Все Ionic плагины имеют два компонента:

  1. Cordova: Нативный код (для разных платформ, например: Android, iOS).
  2. Ionic Native: Обертка для соответствующего плагина (на JavaScript или TypeScript).

При установке вы делаете следующие:

// Установка Cordova (1)
ionic cordova plugin add call-number

// Установка Ionic Native (2)
npm install @ionic-native/call-number // или yarn add call-number (?)

По поводу примеров установки: самый правильный пример для Ionic плагинов, является первым. Так как сайт его генерирует автоматический на основе plugin.xml.

Когда я буду писать свой плагин, могу ли я использовать что-то одно?

Да можете, но только npm и при условии что вам не нужен платформо-зависимый код.


Источники: Ответ на EnSO, Ionic Community Plugins, Руководство по разработке плагинов для Сordova.

→ Ссылка