IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Angular Discussion :

Erreur sur compilation d'un projet


Sujet :

Angular

  1. #1
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 112
    Points : 2 213
    Points
    2 213
    Par défaut Erreur sur compilation d'un projet
    Bonjour tout le monde,

    J'ai recommencé le projet qui me sert de modèle :
    Angular Fundamentals - Building an Angular 7 Application with .NET Core 2.2 (Global Weather) - Part 1

    Ça démarrait bien, jusqu'au moment de déclarer les formulaires réactifs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import { FormsModule, ReactiveFormsModule } from '@angular/forms';
    À ce moment la compilation m'a donné quelque chose qui m'a rappelé des souvenirs, pour résumer forms.d.ts n'est pas un module :
    ERROR in : Unexpected value 'FormsModule in D:/Projets Visual Studio/Web/WeatherProject012/WeatherProject012/WeatherClient/types/@angular/forms.d.ts' imported by the module 'AppModule in D:/Projets Visual Studio/Web/WeatherProject012/WeatherProject012/WeatherClient/src/app/app.module.ts'. Please add a @NgModule annotation.
    : Unexpected value 'ReactiveFormsModule in D:/Projets Visual Studio/Web/WeatherProject012/WeatherProject012/WeatherClient/types/@angular/forms.d.ts' imported by the module 'AppModule in D:/Projets Visual Studio/Web/WeatherProject012/WeatherProject012/WeatherClient/src/app/app.module.ts'. Please add a @NgModule annotation.
    : Can't bind to 'formGroup' since it isn't a known property of 'form'. ("<div class="container content" style="padding-left: 0px; padding-top: 10px">
    <form [ERROR ->][formGroup]="weatherForm">
    <div formgroupname="searchGroup">
    <div class="row">
    ")
    src/app/weather/weather.component.ts(2,65): error TS2306: File 'D:/Projets Visual Studio/Web/WeatherProject012/WeatherProject012/WeatherClient/types/@angular/forms.d.ts' is not a module.
    src/app/weather/weather.component.ts(5,28): error TS2307: Cannot find module 'crypto'.
    src/app/app.module.ts(3,50): error TS2306: File 'D:/Projets Visual Studio/Web/WeatherProject012/WeatherProject012/WeatherClient/types/@angular/forms.d.ts' is not a module.
    J'ai eu de tels messages il y a quelques mois lorsqu'une mise à jour de module comportait une erreur (sur un dépôt on s'était planté sur les compatibilités). J'ai donc supposé que le problème s'est reproduit, et j'ai appliqué ce que je me rappelle pour cette situation.
    • copier package.json et package-lock.json depuis une version qui fonctionne
    • taper :

    Or, cette fois ça semble ne pas fonctionner : le projet source fonctionne, pas le projet cible.

    Je me rends compte d'ailleurs qu'un répertoire types a été créé, qui n'existait pas dans la version qui fonctionne.

    Quelqu'un saurait-il me défaire les nœuds ?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Points : 1 030
    Points
    1 030
    Par défaut
    apparemment "weatherForm" n'est un un formGroup.

  3. #3
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 112
    Points : 2 213
    Points
    2 213
    Par défaut
    C'est quoi, alors ?

    Je profite de l'occasion pour signaler une modification à faire par rapport au projet en ligne.

    Selon le mode de compilation, une variable private déclarée dans un module ts est accessible ou pas dans la page html liée.

    Ainsi, sauf à utiliser le même mode de compilation que l'auteur, il faut déclarer public la variable weatherForm de type FormGroup.
    Il suffit pour cela de supprimer le modificateur private, devant.

    On aura ainsi au début du OnInit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      weatherForm: FormGroup;

  4. #4
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    si il n'y a rien de secret, t'as pas un git ? que je regarde parceque là

    ce qui veut dire, est que : weatherForm doit être défini dans un .ts comme formGroup

  5. #5
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 112
    Points : 2 213
    Points
    2 213
    Par défaut
    Le projet est disponible en téléchargement sur la page citée, il suffit d'avoir un profil sur codeproject.com

    Jusqu'à hier ça marchait très bien.

  6. #6
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 112
    Points : 2 213
    Points
    2 213
    Par défaut
    En voyant "form.d.ts n'est pas un module", les premiers résultats de recherche laissent entendre que les modules téléchargés ne sont pas cohérents.
    D'où nouveau téléchargement par "npm ci".
    Dans la mesure où une version fonctionne et l'autre pas (créées selon le même modèle), ça laisse perplexe quant à cette piste.
    Bon, finalement, si vous arrivez à faire tourner ça et ne trouvez rien de louche, il faudra bien que je mette ça en ligne pour qu'on y voie clair. Il faut mettre le node_modules, avec ? Traditionnellement on évite, mais dans ce cas de figure ...

    Ah au fait, dans le répertoire WeatherClient, j'ai un sous-répertoire types, avec encore un sous-répertoire @angular lequel contient un fichier vide form.d.ts
    Ce répertoire n'existe pas dans le projet qui fonctionne.
    Et si le fichier est vide, ce n'est pas étonnant qu'il ne soit pas considéré comme un module.

    Quelqu'un a-t-il une idée de l'existence de ce fichier, à quel moment il apparaît, à quel moment il disparaît ?

Discussions similaires

  1. Nouveau tutoriel de Benoît-M
    Par Smortex dans le forum x86 16-bits
    Réponses: 28
    Dernier message: 28/11/2005, 01h00
  2. Sac à dos
    Par JeanRaviol dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 21/11/2002, 11h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo