2014-02-23 4 views
5

Die Reihenfolge, die ich Pakete auf Meteor hinzufügen macht einen Unterschied im Ergebnis? Sagen wir, ich benutze bootstrap 3 und accounts ui mit Bootstrap 3, wenn ich das letztere zuerst hinzufüge oder umgekehrt würde genauso funktionieren?Meteor Paket load order

Antwort

7

In Meteor spielt die Reihenfolge, in der Sie sie hinzufügen, keine Rolle.

Es gibt ein Modul im Meteor namens Linker, der die Abhängigkeiten jedes Pakets analysiert, um sicherzustellen, dass die Abhängigkeiten zuerst geladen werden.

Zum Beispiel: Wenn Bootstrap-3 eine Abhängigkeit von Konten-ui-Bootstrap-3 dann selbst wenn Bootstrap-3 wurde nach hinzugefügt, wäre es zum ersten Mal geladen werden.

+4

Was ist mit Dingen, die keine explizite Abhängigkeit haben? Zum Beispiel überschreibt ein "admin" -Paket die Bootstrap-Stile (wobei Bootstrap keine Abhängigkeit und optional ist), und in meinem Paket überschreibe ich auch die Bootstrap-Stile (Bootstrap, ist wieder optional - kein Zwang, den Benutzer zu zwingen) . Diese beiden Pakete hängen auch nicht voneinander ab - was ist nun der Ladeauftrag? –

+0

Wenn Sie https://github.com/vsivsi/meteor-job-collection installieren, werden vor https://github.com/matb33/meteor-collection-hooks automatisch Fehler auftreten. Könnte ein Einzelfall sein, bin mir aber nicht sicher. –

-1

Jedes Paket hat eine package.json Datei, die auflistet, welche anderen Pakete es benötigt. Diese Vorgehensweise stellt sicher, dass die Pakete in der richtigen Reihenfolge geladen werden. Lesen Sie diese Dateien, um Ladeprobleme zu beheben.

+2

das sollte 'package.js' sein. Nicht Json. siehe: http://docs.meteor.com/#/full/packagejs – remcoder

0

Es gibt derzeit keine Möglichkeit, eine optionale Abhängigkeit innerhalb eines Pakets zu testen oder darauf zuzugreifen. Sie können die Existenz testen, indem Sie testen, ob Package ['author: package'] definiert ist. Das Problem ist die Ladereihenfolge. Ich habe es vorübergehend durch Bearbeiten der Paketdatei in .meteor und Verschieben des optionalen Abhängigkeitspakets weiter oben in der Liste gelöst. Ich denke aber nicht, dass es eine gute langfristige Lösung ist. Dies sollte ein Meteor-Feature-Vorschlag sein, wenn es nicht bereits ist.