Ich bin grad dabei ein Theme Plugin zu erstellen.
Auf einer Devumgebung funktioniert das Javascript, wenn ich das Plugin jedoch auf eine „Prod“ Umgebung installiere gibts JS Fehler:
*Uncaught TypeError: Cannot read property ‚call‘ of undefined*
Hallo zusammen, ich würd das Thema gern nochmal aufgreifen.
Also ich hab mal wieder funktionierendes, kompiliertes JS in meiner “DEV” Umgebung welches dann aber anders unter “PROD” agiert.
Ganz simple, zB. häng ich mich an einen Event ruf die super methode auf und dann möchte einfach den offsetTop eines div containers.
Auf dev bekomme ich richtige Werte auf Prod dann immer 0
??? wt… ???
Oder derzeit auch wieder beim Einbinden von externen UMD JS per import.
DEV funktioniert alles ganz schick, auf PROD dann wie oben: *Uncaught TypeError: Cannot read property ‘call’ of undefined*
Letzteres hat sich jedenfalls schon verbessert, ist nur neuerdings mit einem neuen Drittanbieter Skript wieder der Fall
Hat niemend anders solch ein Verhalten schon erlebt? Oder irgendwie eine Erklärung dafür?
Beiss mir irgendwie die Zähne dran aus, bzw. macht mich das ganz wuschig.
Kann doch nicht sein, niemand sonst?
Daher änderst du nicht nur die .ENV Variable, sondern nimmst eine komplett andere Umgebung?
Kann es sein, dass du nicht alle JS Dateien ordnungsgemäß exportiert hast? Als JS Compiler wird soweit ich weiß Webpack verwendet. Wenn du eine Depency nicht mit exportierst, kann es vorkommen, dass du auf Prod Fehler bekommst, da dort nicht per NodeJS compiled wird sondern es fertig compiled geliefert werden muss.
Aber zu Webpack gibt’s von Shopware keine richtige Dokumentation. Ich habe da selber etwas gebraucht, um alles zu konfigurieren damit. Da sollte @Shopware die Dokumentation mal etwas erweitern. Momentan ist das keine zufriedenstellende Dokumentation zu schreiben “Guckt bei Webpack” und verweist auf eine allgemeine Anleitung zum Erstellen (nicht extenden!) einer Webpack Config.
Hallo @0xf76 und vielen Dank schon mal für dein Feedback.
Ich nehm ne andere Umgebung weil ich sichergehen will dass das Zeug auch auf einer aktuellen PROD Umgebung funzt.
Das kompilierte Skript von DEV aus dem dist Ordner schieb ich einfach rüber.
Das ja genau das Problem. Auf DEV gehts dann wunderbar und auf PROD spinnt es dann und wann aus unerklärlichen Gründen?!
Wie oben beschrieben kommts zu den Unregelmässigkeiten bei nem simplen offsetTop.
Skript wie in der Doku “extended” (und exportiert), wie hier: Shopware 6: Extend an existing JavaScript plugin
Bin auch nicht so drin in dem ganzen Webpack Thema, ist ja ne Welt für sich.
Und Doku ja, ist schon etwas arm.
Die webpack Doku versteht man, wenn man davor noch nichts mit zu tun hatte und nicht richtig zeitintensiv reintaucht, auch nicht grade wirklich gut.
Ich möchte bzgl. configs auch nicht groß was ändern.
Ich versteh halt nicht warum sich Skripte anders verhalten (DEV/PROD)
Ist halt mega nervig wenn du auf DEV etwas baust, den der Kram auf PROD rüberschiebst und es dann aus unerklärlichen Gründen knallt .