Situation
Wir möchten diese externe logging JS-Bibliothek zu unserer Discourse-Instanz hinzufügen, um den Debugging-Workflow zu verbessern. Dabei nutzen wir diesen leichten Logging-Wrapper, der es uns beispielsweise ermöglicht, ein Log-Level über log.setLevel('debug') festzulegen.
Diese externe Bibliothek sollte in allen unseren benutzerdefinierten Plugins, Themes und Theme-Komponenten verfügbar sein, die auf unserer App installiert sind.
Implementation
• Würde das Importieren des JS über register_asset in verschiedenen Plugins die JS-Datei mehrfach importieren?
• Gibt es eine alternative JS-Bibliothek mit ähnlicher Funktionalität, nachdem Ember sein Logging-Utility abgekündigt hat und stattdessen console.log bevorzugt?
Wir haben uns bisher für folgenden Weg entschieden, um dies zu implementieren:
- Ein Plugin installieren, das externes JS importiert und die JS-Bibliothek über das
window-Objekt verfügbar macht (window.log = log).
• Die JS-Bibliothek nur einmal importieren.
• Andere Plugins/Themes/Theme-Komponenten würden von diesem Plugin abhängen, und Dinge wie Open-Source-Plugins würden Benutzer zwingen, beide Plugins zu installieren.
Ist das sinnvoll, oder würden Sie einen anderen Ansatz empfehlen?