Hallo zusammen. Ich habe Probleme beim Laden des Frontends aus dem Git.
Ich habe das Repo geklont; ‹ npm install › im Frontend- und Server-Ordner ausgeführt. Sowohl Frontend als auch Server wurden erfolgreich auf den Ports 1444 bzw. 1443 gestartet. Wenn ich jedoch auf das Frontend zugreife, erhalte ich einen JavaScript-Fehler:
TypeError: Cannot read property 'default' of undefined
at rankChild (preact-router.es.js?f128:82)
at prepareVNodeForRanking (preact-router.es.js?f128:65)
at Array.filter (<anonymous>)
at Router.getMatchingChildren (preact-router.es.js?f128:303)
at Router.canRoute (preact-router.es.js?f128:258)
at canRoute (preact-router.es.js?f128:145)
at route (preact-router.es.js?f128:134)
at eval (main.js?5c4e:49)
Das Frontend erfordert korrekt die neueste Version von preact-router (v3.2.1). Allerdings erfordert die Entwicklungsabhängigkeit preact-cli 2.x die Version 2.x von preact-router, was wiederum dieses Problem verursacht.
Ich habe das Problem gelöst, indem ich preact-cli auf v3 aktualisiert und einige kleinere Updates durchgeführt habe (Entfernung von preact-cli-plugin-fast-async - es ist nicht mit dem neuesten webpack kompatibel).
Interessante Sache ist, dass ich auf einem frisch installierten NodeJS 14 keine Probleme hatte. Ich denke, ich hatte eine Inkonsistenz in den Abhängigkeiten oder so. Ich werde weitergraben
Ich kann dieses Problem auf meinem Hauptentwicklungscomputer konsistent reproduzieren. Ich konnte die « webpack »-Konfiguration anpassen, um das « preact-router »-Modul korrekt zu lösen.
Hi @siburny,
hast du deine Änderungen irgendwo gespeichert?
Ich versuche auch, nach einem Upgrade für preact-cli zu suchen, aber…
Es wäre schön, zu sehen, was du gemacht hast, und vielleicht so weiterzumachen
Das Upgrade von preact-cli hat zwar das Entwicklungsstartproblem behoben, aber andere Teile von Gladys, mit denen ich noch nicht vertraut bin, wurden dadurch beschädigt. Konkret hat preact-cli v3 keinen preact serve-Befehl mehr. Basierend auf package.json habe ich geschlossen, dass dieser für das Bereitstellen von Seiten im „Produktions“-Modus benötigt wird.
Da das ursprüngliche Problem nur einen meiner PCs betraf, war es einfacher, nur dieses Problem zu verfolgen und zu beheben.
Was die Änderungen betrifft, musste ich nur eine Änderung in preact.config.js vornehmen: Ich musste das Plugin preact-cli-plugin-fast-async komplett entfernen, da es preact-cli v3 derzeit nicht unterstützt.
Danke, ich habe es auch gemacht, aber jetzt habe ich einige „Fehler“ beim Starten:
ERROR in /home/alex/Gladys/front/node_modules/vis-data/declarations/data-interface.d.ts(1,28):
TS2307: Modul 'vis-util/esnext' oder dessen entsprechende Typdeklarationen konnten nicht gefunden werden.
ERROR in /home/alex/Gladys/front/node_modules/vis-data/declarations/entry-esnext.d.ts(3,24):
TS2307: Modul 'vis-util/esnext' oder dessen entsprechende Typdeklarationen konnten nicht gefunden werden.
ERROR in /home/alex/Gladys/front/node_modules/vis-network/declarations/index-legacy.d.ts(13,23):
TS2307: Modul 'vis-util/esnext' oder dessen entsprechende Typdeklarationen konnten nicht gefunden werden.
ERROR in /home/alex/Gladys/front/node_modules/vis-network/declarations/index-legacy.d.ts(18,25):
TS2497: Dieses Modul kann nur mit ECMAScript-Importen/Exports referenziert werden, indem die 'esModuleInterop'-Flagge aktiviert und dessen Standard-Export referenziert wird.
ERROR in /home/alex/Gladys/front/node_modules/vis-network/declarations/index-legacy.d.ts(20,27):
TS2307: Modul 'keycharm' oder dessen entsprechende Typdeklarationen konnten nicht gefunden werden.
ERROR in /home/alex/Gladys/front/node_modules/vis-network/declarations/module/hammer.d.ts(1,20):
TS2307: Modul '@egjs/hammerjs' oder dessen entsprechende Typdeklarationen konnten nicht gefunden werden.
Ich habe preact-cli über npm install preact-cli@3 aktualisiert. Wenn ich front starte, bekomme ich keine Fehler wie diese. Allerdings erhalte ich eine ganze Reihe anderer Warnungen. Deshalb habe ich mich dagegen entschieden: Ich habe zu wenig Wissen über die gesamte Projektstruktur.