Einführung
Plugins ermöglichen Entwicklern, Matter.js auf hochmodulare Weise mit neuen Funktionen zu erweitern.
Sie sind so konzipiert, dass sie einfach zu verwenden, zu erstellen und zusammenzustellen sind.
Sie funktionieren, indem sie sich selbst installieren, indem sie die Module direkt patchen. Dieser Ansatz ist eine leistungsstarke Möglichkeit, praktisch jeden Teil der Bibliothek auf eine Weise zu erweitern, die entkoppelt und zusammenstellbar ist. Matter.*
Es ist auch möglich, andere Plugins anzugeben, die zuerst als Abhängigkeiten installiert werden müssen. Dadurch können Plugins durch Zusammenstellen wiederverwendet werden, z. B. das Plugin .matter-gravityusesmatter-attractors
Das Plugin-System verfolgt, löst und installiert Abhängigkeiten automatisch rekursiv und stellt sicher, dass sie nur einmal in einer Reihenfolge installiert werden, die alle Abhängigkeiten erfüllt (wo möglich).
Plugins werden mit dem Semver-Ansatz versioniert, was die Angabe der Kompatibilität erleichtert. Versionen können für Plugins selbst, die Version von Matter.js, für die sie empfohlen werden, und die Versionen ihrer Abhängigkeiten angegeben werden.
Beachten Sie, dass Plugins zwar einige Gemeinsamkeiten haben, aber kein neues Modul- oder Paketformat sind (da jedes dieser vorhandenen Formate zum Erstellen oder Verpacken eines Plugins verwendet werden kann).
Plugins verwenden
Plugins laden
Um ein Plugin zu verwenden, müssen Sie zuerst seine Dateien zusammen mit den Dateien seiner Abhängigkeiten laden. Wie Sie dies tun, bleibt Ihnen überlassen. Am einfachsten ist es, einfach mehrere Tags zu verwenden. Es wird jedoch empfohlen, einen Bundler wie Webpack oder Browserify zu verwenden (dies ist jedoch nicht erforderlich).<script src="...">
Plugins installieren
Sobald Sie Ihr Plugin geladen haben, können Sie es wie folgt installieren: Matter.use
Matter.use(
'matter-gravity',
'matter-world-wrap'
);
Überprüfen Sie die Konsole, um zu bestätigen, dass sie korrekt und in der richtigen Reihenfolge installiert wurden. Sie sollten etwas wie Folgendes sehen:
matter-js: ✅ matter-attractors@0.1.0 ✅ matter-gravity@0.1.0 ✅ matter-world-wrap@0.1.0
Hier sehen wir, dass auch installiert wurde, da es eine Abhängigkeit von ist. Beachten Sie, dass Plugins ihre Abhängigkeiten normalerweise nicht in ihren Distributionen bündeln, sodass es Ihnen überlassen bleibt, sie zu beziehen und zu laden. Beachten Sie auch, dass Plugins nur einmal auf einem bestimmten Modul installiert werden dürfen.matter-attractorsmatter-gravity
Alle Plugins, die nicht aufgelöst werden konnten, zeigen ein rotes Kreuz ❌, alle Plugins, die Warnungen ausgegeben haben, zeigen ein 🔶. Letzteres funktioniert möglicherweise wie erwartet oder nicht, je nach Grund der Warnung.
Stellen Sie sicher, dass Sie Plugins so früh wie möglich im Lebenszyklus Ihres Projekts installieren, bevor Sie Funktionsaliase erstellen (z. B. ), da diese Aliase sonst nicht auf die neu gepatchten Versionen dieser Funktionen verweisen und Ihre Plugins auf unerwartete Weise fehlschlagen.var Body = Matter.Body;