Frische Entwicklungsinstallation

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.

Fehlerhafte Zeile:

  function rankChild(vnode) {
    vnode.attributes.default ? 0 : rank(vnode.attributes.path); // <- Fehler hier
  }

Neuere preact-router-Version ist:

    function rankChild(vnode) {
	return vnode.props.default ? 0 : rank(vnode.props.path);
    }

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).

Jetzt kann ich das Anmeldeformular nicht mehr abschließen: Es mag diesen Code hier nicht Gladys/front/src/routes/signup/4-configure-house/ConfigureHouseTab.jsx at a8f98aeccac48255a3b794695b972d2c0e7ab1b8 · GladysAssistant/Gladys · GitHub

Wenn ich ihn entferne, verschwindet das Problem.

Hi @siburny

Ich habe einen frischen Test durchgeführt und konnte das Problem nicht reproduzieren.

Welche Version von nodejs verwendest du?

node -v:
v14.15.1

npm -v:
6.14.8

Ich habe alles gelöscht, den Code erneut heruntergeladen und dann « npm install » im Server und Frontend ausgeführt.

Ich habe den Server gestartet:
npm start

Ich habe das Frontend gestartet:
npm run start:development

Wir verwenden vorerst Node 12.

Ich werde v14 so schnell wie möglich ausprobieren.

Es funktionierte auf meinem Arbeitscomputer mit den folgenden Versionen:

node -v:
v12.20.0

npm -v:
6.14.8

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 :slight_smile:

Ok, vielen Dank für das Feedback

Verwandtes Problem Upgrade to latest version of preact-cli + preact · Issue #982 · GladysAssistant/Gladys · GitHub

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 :wink:

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.