Nach Update 6.6.3 wird Theme JS nicht mehr geladen

Bei einem Test-Update von 6.5.x auf 6.6.3 fällt mir auf, dass das unter SW 6.5 erstellte Theme JS wohl nicht mehr geladen wird.

Auzug aus der theme.json:

  "script": [
    "@Storefront",
    "app/storefront/dist/storefront/js/theme.js"
  ],

Unter 6.5.x ging das noch, mit 6.6.x nicht mehr. Wie kann ich das Problem lösen?

Die JS-Datei muss scheinbar ab 6.6 in einen weiteren Unterordner verschoben werden damit sie bereitgestellt werden kann, siehe shopware/UPGRADE-6.6.md at trunk · shopware/shopware · GitHub

2 „Gefällt mir“

Sollte in 6.6 so lauten - bzw. in folgendem Pfad liegen:

"script": [
    "@Storefront",
    "app/storefront/dist/storefront/js/dein-theme/dein-theme.js"
  ],
2 „Gefällt mir“

Manchmal fehlen mir nur noch die Worte:

2 „Gefällt mir“

Sorry, ich muss das Thema nochmal aufrufen. Bei mir funktioniert es nicht. Javascript wird nicht geladen.

Folgendes habe ich gemacht:

  1. Verzeichnis erstellt
    custom/plugins/SlBasicTestTheme/src/Resources/app/storefront/dist/storefront/js/sl-basic-test-theme und dort die Datei reingeschoben die zuvor in in /js lag.
  2. In der theme.json (custom/plugins/SlBasicTestTheme/src/Resources) geändert auf:
  "script": [
    "@Storefront",
    "app/storefront/dist/storefront/js/sl-basic-test-theme/sl-basic-test-theme.js"
  ],

Muss noch was weiteres gemacht werden? Habe ich was übersehen?

/bin/build-storefront.sh aufgerufen?

Danke für Deine Antwort.

Ich habe es mal so ausgeführt (Keine Ahnung ob das richtig war):
2024-07-05 14_21_40-OpenSSH SSH client

Für den Befehl benötigst du npm auf dem Server.

Blöde Frage:
Mal den Cache komplett geleert? Theme neu kompiliert? So optisch sehe ich keine Fehler.

Node.js bzw. npm ist nicht auf dem Server installiert. Ist das Grundvoraussetzung für Shopware 6.6?
Mittwald schreibt dazu folgendes (9 Euro pro Monat - verstehe ich das richtig?)

Gibt es vielleicht einen anderen Weg?

Ja, Cache und geleert und Theme wurde kompiliert.

Node benötigst du nur für die Entwicklung. Du kannst das auch - was Sinn macht - eine lokale Entwicklungsumgebung einrichten, z.B. Dockware. Dann kannst du dort die Befehle ausführen und das Theme auf den Server laden.

Auf dem (Produktiv-)Server benötigst du ansonsten keine Node.js

Ist das Ok wenn die sl-basic-test-theme.js keinerlei Inhalt hat? Ist bei mir nähmlich so.

Wird daran liegen, dass diese durch das fehlende Nods.js nicht kompiliert werden konnte. Normal liegt dort das komprimierte Javascript drin.

Eine andere Möglichkeit gibt es nicht? Bin da technisch nicht so beholfen… Dachte nicht, dass das Update von 6.5.x auf 6.6.x solche Umstände mit sich zieht.

Nein. Wenn du ein Custom-Theme (mit Javascript) erstellst, musst du dich in Shopware 6 mit diesen Themen befassen.

Ich habe jetzt das node installiert.
dann konnte ich bin/build-storefront.sh ausführen.

beim kompilieren bekomme ich jetzt diesen Fehler:

Hä? Ist der Pfad immer noch nicht korrekt?
Das Verzeichnis und Pfad sollte auch so vorhanden sein:

app/storefront/dist/storefront/js/sl-basic-test-theme/sl-basic-test-theme.js

In der Fehlermeldung steht aber etwas anderes.

Ich habe jetzt nochmal das gesamte Update von SW6.6.4 auf SW6.5.8.7 zurückgesetzt.
Nächste Woche werde ich es nochmal versuchen.

Sollte ich direkt nach dem Update auf 6.6.4 den Befehl bin/build-storefront.sh ausführen oder wie wäre die beste Vorgehensweise bzw. Rangfolge der abzuarbeitenden Punkte?

Das Thema hat mir leider keine Ruhe gelassen…
Ich habe also nun auf SW6.5.8.7 zurückgesetzt. Die sl-basic-test-theme.js hat auch dort keinen Inhalt. Das Custom Theme wird vom Default Shopware Theme abgeleitet und hat keinen eigenes Javascript.

Obwohl in SW6.6 das eigene Theme vom Default Theme ableitet, wird beim eigenen Theme das Javascript nicht geladen.
Ich komme da echt nicht weiter und bin ziemlich verzweifelt.

Was hat es denn mit der Funktion /bin/build-storefront.sh eigentlich auf sich? Ich kann dazu einfach nichts passendes finden bzw. vielleicht reichen auch meine Englischkenntnisse nicht aus?!?