2016-12-21 1 views
2

Ich bin am Entwickeln von Windows, und das ist meine Hauptarbeitsweise Ich habe alles unter Quellcodeverwaltung, aber nicht die Plugins-Ordner. Ich möchte, dass die Plugins verfügbar sind, wenn ich auf eine andere Maschine ziehe. Sollte ich die fetch.json in meine andere Maschine kopieren und einfügen? und wie bekomme ich das um die Plugins zu installieren?Cordova Plugin-Management in verschiedenen Umgebungen

Was wäre der normale Weg zur Entwicklung von cordova/ionic apps, wenn es um Plugin-Management in verschiedenen Umgebungen geht.

Dank

Antwort

2

In der Vergangenheit Ionic würde diese verwalten für Sie ionic plugin add und ionic state restore verwenden, aber in diesen Tagen Cordova hat Sie bedeckt. Durch die Verwendung des --save Flags mit dem cordova plugin add Befehl speichert Cordova alle Plugins auf config.xml, dies funktioniert auch für Plattformen, also cordova platform add ios --save.

Ich bin mir ziemlich sicher, dass es genauso funktioniert, wenn Sie ionic platform add ios --save tun. Alles, was Sie auf dem anderen Rechner tun müssen, ist cordova prepare, um alle installierten Plugins und Plattformen zu erhalten.

Ionic implementiert die Methode mit package.json, weil zu der Zeit gab es keine gute Alternative, aber Cordova hat eine gute Möglichkeit, Plugins jetzt zu verwalten. Es gibt eine Diskussion über diese here.

0

Wie @Dexter erklärt, das Hinzufügen von Plugins config.xml über cordova plugin add some-plugin --save funktioniert gut, wenn Sie eine saubere Kasse zu tun und laufen cordova prepare - die in config.xml aufgeführten Plugins werden als die in config.xml angegebenen Versionen installiert werden.

Wenn Sie jedoch eine vorhandene Kasse mit vorhandenen Plugins installiert haben, werden Ihre Plugins nicht auf die unter config.xml angegebenen Versionen aktualisiert. Es werden nur neue Plugins installiert, die zu config.xml seit der letzten Ausführung cordova prepare hinzugefügt wurden.

Zum Beispiel, wenn Sie ein lokales Projekt, in dem [email protected] installiert ist und machen Sie einen git pull, welche Updates die config.xml enthalten:

<plugin name="cordova-plugin-device" spec="~1.1.4" /> 

Wenn Sie cordova prepare ausführen, wird das Gerät Plugin nicht v1.1.4 aktualisiert werden . Um dies zu tun, würden Sie brauchen, um manuell zu entfernen und erneut hinzufügen das Plugin:

cordova plugin rm cordova-plugin-device && cordova plugin add cordova-plugin-device 

Aus diesem Grunde habe ich ein paar Tools erstellt mir mit diesem Szenario helfen: mit einer Kombination aus cordova-check-plugins und cordova-plugin-config-command Sie können ein <command> Element in config.xml einfügen, das die lokal installierten Plugins mit denen in config.xml angegebenen synchronisieren wird, einschließlich der Installation von fehlenden und der Aktualisierung von Versionen, deren Version sich von der in config.xml angegebenen Version unterscheidet.

Zum Beispiel automatisch installierte Plugins aktualisieren Versionen in der config.xml angegeben übereinstimmen:

<command 
    name="cordova-check-plugins" 
    args="--target=config --update=auto --allow-downdate" 
    hook="before_prepare" 
    display_output="true" 
    abort_on_error="true" 
/> 
Verwandte Themen