Fügen Sie ein Skript zu Discourse's Webpack hinzu

Hallo,

ich habe noch nie mit webpack gearbeitet und meine JS-Kenntnisse sind schlecht. Ich habe eine Discourse-Installation, die von einer IP-Adresse aus läuft, was „nicht unterstützt“ wird. Es funktioniert, aber die Symbole fehlen, da versucht wird, http://192.168.0.22:8080/svg-sprite/192.168.0.22:8080/svg-3-c1066beb12cc75cc4c3bc42f218f381c862e7905.js zu laden, welches die Symbole enthält, aber aufgrund der Zahlen fehlschlägt. Alles andere würde funktionieren, wie z.B. http://192.168.0.22:8080/svg-sprite/-/svg-3-c1066beb12cc75cc4c3bc42f218f381c862e7905.js (man kann alles dort einfügen, wo das - ist, daher bin ich mir nicht ganz sicher, warum es überhaupt existiert, aber das ist nicht meine Entscheidung).

Ich versuche, den richtigen Host laden zu lassen, also habe ich ein kleines Skript dafür erstellt, aber dank webpack kann ich nicht über Imports auf den Loader zugreifen:

Aufgrund dieser Einschränkung muss ich in das webpack von Discourse gelangen, das nirgends zu finden ist. Wie kann ich ein Skript in den Ordner einfügen?

/var/discourse$ ls
shared

Wir verwenden nicht das native Modulauflösungssystem des Browsers, daher funktionieren <script type="module"> mit Imports und Exports nicht wie erwartet.

Stattdessen können Sie einen Initialisierer in einem Discourse-Theme/Plugin erstellen und diesen verwenden, um den loadSprites()-Code auszuführen.

Es ist für Hosting-Umgebungen gedacht, in denen dieselbe CDN-Domain von mehreren Discourse-Foren verwendet wird.

In der Tat… es wird nicht unterstützt. Sie werden sehr wahrscheinlich auf andere Probleme stoßen.

2 „Gefällt mir“

Gibt es dafür eine Anleitung? Das habe ich noch nie ausprobiert.

Dieses Thema enthält ein Beispiel: Split up theme Javascript into multiple files

1 „Gefällt mir“

Danke… es hat funktioniert! Für alle anderen, die dieses Problem in Zukunft haben, hier ist das Repository, das ich zur Behebung verwendet habe (vorausgesetzt, Sie laufen auf 192.168.0.22:8080)

1 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.