Ответ 1
Что вызвало наш выпуск
Мы первоначально использовали этот проект Ionic + Cordova + Grunt seed, чтобы запустить наше первоначальное приложение. Проект включает в себя ряд крючков Cordova, которые, среди прочего, добавляют и удаляют платформы и плагины из соответствующие разделы cordovaPlatforms
и cordovaPlugins
в package.json
при запуске соответствующей команды (т.е. cordova plugin add cordova-plugin-media
добавляет строку в cordovaPlugins
).
Чтобы лучше поддерживать локальное тестирование (например, пытаться использовать новые версии плагина), а также для предотвращения проблем с зависимостями между разными пользователями, мы отключили крюк проекта проекта и теперь при необходимости package.json
вручную.
Правильное управление плагинами Кордовы
В свою очередь, Ionic CLI использует package.json
для управления состоянием приложения Cordova с точки зрения платформ и плагинов (по версия 1.3.19, она появляется).
Заполнение package.json
двумя разделами, cordovaPlatforms
и cordovaPlugins
позволило нам сделать простой ionic state restore
, чтобы получить среду Кордовы в форме для эмуляции, построения и т.д.
Указание версий
Для дальнейшего блокирования состояния приложения и среды разработки мы также указали целевую версию платформ и плагинов Cordova, которые мы используем, добавив номер версии. Здесь мы используем:
{
...
"cordovaPlatforms": [
"[email protected]",
"[email protected]"
],
"cordovaPlugins": [
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]"
]
}
TL;DR
После того, как вы указали выше в своем package.json
, вы можете убедиться, что ваша локальная среда находится в правильном состоянии через ionic state restore
(v1.3.19 +), которая будет прокручивать package.json
и устанавливать платформы и плагины как необходимо.