Nouvelle installation de développement

Bonjour à tous. J’ai des difficultés à charger le front construit à partir de git.

J’ai cloné le dépôt; j’ai exécuté ‹ npm install › dans les dossiers front et server. Front et server ont démarré avec succès sur les ports 1444 et 1443 respectivement. Cependant, lorsque j’accède à front, je reçois une erreur JS:

    TypeError: Impossible de lire la propriété 'default' de 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)

Front nécessite correctement la dernière version de preact-router (v3.2.1). Cependant, la dépendance de développement preact-cli 2.x nécessite la version 2.x de preact-router, ce qui crée ce problème.

Erreur de ligne:

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

Nouvelle version de preact-router :

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

J’ai résolu ce problème en mettant à jour preact-cli vers la v3 et en effectuant quelques autres mises à jour mineures (suppression de preact-cli-plugin-fast-async - il n’est pas compatible avec la dernière version de webpack).

Maintenant, je ne peux pas compléter le formulaire d’inscription : il n’aime pas le code ici Gladys/front/src/routes/signup/4-configure-house/ConfigureHouseTab.jsx at a8f98aeccac48255a3b794695b972d2c0e7ab1b8 · GladysAssistant/Gladys · GitHub

Si je le supprime, le problème disparaît.

Bonjour @siburny

J’ai effectué un nouveau test et je n’ai pas reproduit le problème.

Quelle version de nodejs utilisez-vous ?

node -v:
v14.15.1

npm -v:
6.14.8

J’ai tout supprimé, redéployé le code, puis « npm install » dans server et front.

J’ai démarré le serveur:
npm start

J’ai démarré front:
npm run start:development

Nous utilisons node 12 pour l’instant.

Je vais essayer la v14 dès que possible

Ça a fonctionné correctement sur mon ordinateur de travail avec les versions suivantes :

node -v :
v12.20.0

npm -v :
6.14.8

Chose intéressante, sur une installation fraîche de NodeJS 14, je n’ai rencontré aucun problème. Je pense que j’avais une incompatibilité de dépendances ou quelque chose du genre. Je vais continuer à creuser :slight_smile:

D’accord, merci pour le retour

Problème lié Upgrade to latest version of preact-cli + preact · Issue #982 · GladysAssistant/Gladys · GitHub

1 « J'aime »

Je peux reproduire ce problème de manière cohérente sur mon ordinateur de développement principal. J’ai pu ajuster la configuration de « webpack » pour résoudre le module « preact-router » correctement.

Salut @siburny,
as-tu gardé tes modifications quelque part ?
J’essaie de chercher à mettre à jour preact-cli aussi, mais…
Ce serait bien de voir ce que tu as fait, et peut-être continuer ainsi :wink:

La mise à niveau de preact-cli a certainement résolu le démarrage du développement, mais elle a cassé d’autres parties de Gladys avec lesquelles je ne suis pas encore familier. En particulier, preact-cli v3 n’a plus preact serve. D’après package.json, j’ai déduit qu’il est nécessaire pour servir les pages en mode « production ».

Puisque le problème initial n’affectait qu’un seul de mes PC, il était plus facile de suivre et de corriger uniquement ce problème.

En ce qui concerne les modifications, je n’ai eu qu’à apporter une modification dans preact.config.js : j’ai dû supprimer complètement le plugin preact-cli-plugin-fast-async puisqu’il ne supporte pas preact-cli v3 pour l’instant.

Merci, je l’ai fait aussi, mais maintenant j’ai quelques « erreurs » au démarrage:

ERREUR dans /home/alex/Gladys/front/node_modules/vis-data/declarations/data-interface.d.ts(1,28):
TS2307: Impossible de trouver le module 'vis-util/esnext' ou ses déclarations de type correspondantes.
ERREUR dans /home/alex/Gladys/front/node_modules/vis-data/declarations/entry-esnext.d.ts(3,24):
TS2307: Impossible de trouver le module 'vis-util/esnext' ou ses déclarations de type correspondantes.
ERREUR dans /home/alex/Gladys/front/node_modules/vis-network/declarations/index-legacy.d.ts(13,23):
TS2307: Impossible de trouver le module 'vis-util/esnext' ou ses déclarations de type correspondantes.
ERREUR dans /home/alex/Gladys/front/node_modules/vis-network/declarations/index-legacy.d.ts(18,25):
TS2497: Ce module ne peut être référencé qu'avec des imports/exports ECMAScript en activant le drapeau 'esModuleInterop' et en référençant son exportation par défaut.
ERREUR dans /home/alex/Gladys/front/node_modules/vis-network/declarations/index-legacy.d.ts(20,27):
TS2307: Impossible de trouver le module 'keycharm' ou ses déclarations de type correspondantes.
ERREUR dans /home/alex/Gladys/front/node_modules/vis-network/declarations/module/hammer.d.ts(1,20):
TS2307: Impossible de trouver le module '@egjs/hammerjs' ou ses déclarations de type correspondantes.

J’ai mis à jour preact-cli via npm install preact-cli@3. Lorsque je démarre front, je n’obtiens pas d’erreurs comme celle-ci. En revanche, j’obtiens tout un tas d’autres avertissements. C’est pourquoi j’ai décidé de ne pas emprunter cette voie : je n’ai pas assez de connaissances sur l’ensemble de la structure du projet.