Nodejs installieren

Hallo Leute,

Shopware 6 ist kompatibel mir nodejs. Ich habs nicht installiert, bringt mir die installation etwas? Wofür kann ich es nutzen?

Gruß ré

nodejs wird benötigt um per Webpack JavaScript zu bündeln, etc. Wenn du noch Shopware 6.4 installierst, dann ist node.js nicht zwingend notwendig. Ab 6.5 ändert sich das, wenn ich die Spezifikationen richtig gelesen habe.

Hallo,

danke für die Info, aus der Spec zu 6.5 habe ich die Information :wink: Aber da stand nur „kompatibel zu nodejs Ver…“

Gruß ré

1 Like

Stimmt, ist nicht zwingend notwendig. Zum ersten Mal die finalen Requirements gesehen :grin:

ich hatte meinen Testshop aktualisiert auf 6.5 und erst danach gesehen das nodejs - ich dacht auch erst notwendig ist - unterstützt wird.

Gruß ré

Ich bin auf einen Webhoster wo mir nur PHP / MySQL zur Verfügung steht.
Wenn ich nun Änderungen am Theme vornehme oder z.B. SCSS zu CSS kompilieren muss ist in dem Fall Node.js nötig oder geht es auch ohne? Will nicht wegen Webpack extra einen kompletten Server administrieren müssen …

SCSS ist PHP und nicht JS. Da wird’s keine Einschränkungen geben.

Naja nicht ganz, SCSS oder SASS wird kompiliert zu CSS und macht die ganze Sache dynamischer und wiederverwendbar. Ich hatte dies in meiner damaligen Zeit als Node.js Developer auch mittels Webpack, Gulp oder ähnlichen tools gemacht. Fraglich ist halt nur wie es von Shopware implementiert ist, da ich Webpack gehört habe würde sich das vermutlich anbieten die komplette Frontend Optimierung damit zu machen. Zur Not könnte ich mir ja wenn nötig für die Theme Entwicklung lokal einen Node.js installieren aber mache mir sorgen das Befehle wie „bin/console plugin:install“, „bin/console theme:compile“ oder ähnliches eben Webpack benötigen. Weiß das zufällig jemand?

Update v1: Sehe gerade das vermutlich Node.js wirklich benötigt wird da auch EcmaScript 6 verwendet wird:

welches man auch wieder ähnlich wie SCSS kompilieren muss zu Javascript. Hat schon jemand ein eigenes Theme auf Shopware 6.5 entwickelt und kann hier Klarheit schaffen? Ich wollte gerade damit anfangen ein neues Theme für 6.5 zu schreiben …

Update v2: Ach warum lange fragen und nicht schnell mal ausprobieren.
Ich hab mal eben ein neues Plugin angelegt:

bin/console theme:create --env=dev Test
bin/console plugin:refresh
bin/console plugin:install --activate Test
bin/console cache:clear
bin/console theme:change

Im Theme scss Ordner sowie an der theme-name.js Dateien Änderungen gemacht und ein
bin/console theme:compile
ausgeführt. Hat soweit alles ohne Probleme geklappt. Für sehr viel mehr benötige ich das nicht und da ich eh nur kleine Änderungen mache und alleine arbeite kann ich mir auch Ecmascript 6 sparen und native Javascript schreiben. Für große Projekte und in größeren Teams macht es sicherlich Sinn aber dann sollte ja vermutlich auch ein Server mit Node, Redis, ElasticSearch etc. zum Einsatz kommen.

Ich teile hier wenn ich weitere Infos finde …

Shopware nutzt scssphp für SCSS und damit ist das PHP und nicht node.js

Und an der Theme-Entwicklung hat sich zwischen 6.4 und 6.5 nichts geändert. Wer build-storefront oder build-administration ausführen möchte, der benötigt Node.js

1 Like

Hi Max,

okay gut das freut mich zu hören.
Sag mal, ich hab build-storefront oder auch build-administration noch nie benutzt.
Wird sowas normalerweise von Entwicklern benutzt die an Shopware selbst arbeiten?
Ich für mein Teil will ja nur ganz primitiv das Frontend anpassen und sehe derzeit nicht die Notwendigkeit eigene Module zu schreiben da ich das meiste mit dem in Shopware enthaltenen Rule Builder abbilden kann. Sprich bissle an den twig, scss und js files unter custom/plugins anpassen. Als ich quasi gerade fertig war mein Layout anzupassen kam das update auf 6.5 und nun kann ich das so leider nicht einfach übernehmen da sich eben an Bootstrap einiges geändert hat. Meinst in dem Fall brauch ich dann sicher kein Node und muss mir keine Sorgen weiter machen?

Vielen Dank

In der Developer Dokumentation, die du ja kennst, steht drin wann man was benötigt. Kurz zusammengefasst:

  • Änderungen an twig in Storefront: nichts notwendig
  • Änderungen an twig in Administration oder JavaScript Storefront und Administration: build-xyz notwendig, um das JavaScript per Webpack zu kompilieren. Und das kann man in einer Entwicklungsumgebung machen und nicht auf dem Produktiv-Server.

Und die Änderung von Bootstrap war schon seit über einem halben Jahr deutlich kommuniziert. Um so etwas zu vermeiden, am besten immer in den Chanelog auf dem GitHub Repository schauen.

1 Like