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 pour une application angular qui affiche par défaut une page de login


Sujet :

Angular

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 728
    Points : 250
    Points
    250
    Par défaut Erreur pour une application angular qui affiche par défaut une page de login
    Bonjour,
    je développe une application angular/SpringBoot (angular 11.2.7)

    qui affiche la HomePage si l'utilisateur est logué, sinon la LoginPage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    const routes: Routes = [
      { path: '', component: HomeComponent, canActivate: [AuthGuard] },
      { path: 'login', component: LoginComponent },
     
      // otherwise redirect to home
      { path: '**', redirectTo: '' }
    ];
     
    @NgModule({
      imports: [RouterModule.forRoot(routes,
          { enableTracing: false })],
      exports: [RouterModule]
    })
    export class AppRoutingModule { }
    le fichier index.html est le suivant
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>Frontend</title>
      <base href="/">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="icon" type="image/x-icon" href="favicon.ico">
    </head>
    <body>
      <app-root></app-root>
    </body>
    </html>

    Le module principal est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    @NgModule({
      declarations: [
        AppComponent,
        LoginComponent,
        HomeComponent
      ],
      imports: [
        BrowserModule,
        HttpClientModule,
        ReactiveFormsModule,
        AppRoutingModule
      ],
      providers: [{ provide: HTTP_INTERCEPTORS, useClass: HttpsInterceptor, multi: true } ],
      bootstrap: [AppComponent]
    })
    export class AppModule { }
    le template de AppComponent de selecteur "app-root" est le suivant

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Message from server: {{message}}
     
    <div class="jumbotron">
      <div class="container">
        <div class="row">
          <div class="col-sm-6 offset-sm-3">
            <router-outlet></router-outlet>
          </div>
        </div>
      </div>
    </div>

    et pourtant, quand je vais à l'adresse http://localhost:8080, j'ai l'erreur suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    ERROR Error: The selector "ng-component" did not match any elements
        Angular 24
            selectRootElement
            locateHostElement
            create
            bootstrap
            _moduleDoBootstrap
            _moduleDoBootstrap
            bootstrapModuleFactory
            invoke
            onInvoke
            invoke
            run
            scheduleResolveOrReject
            invokeTask
            onInvokeTask
            invokeTask
            runTask
            drainMicroTaskQueue
            promise callback*scheduleMicroTask
            scheduleTask
            scheduleTask
            scheduleMicroTask
            scheduleResolveOrReject
            then
            bootstrapModule
        zUnb main.ts:11
        Webpack 6
            __webpack_require__
            0
            __webpack_require__
            checkDeferredModules
            webpackJsonpCallback
            <anonymous>
    core.js:6162
        Angular 17
            defaultErrorLogger
            handleError
            _callAndReportToErrorHandler
            invoke
            run
            runOutsideAngular
            _callAndReportToErrorHandler
            invoke
            onInvoke
            invoke
            run
            scheduleResolveOrReject
            invokeTask
            onInvokeTask
            invokeTask
            runTask
            drainMicroTaskQueue

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 728
    Points : 250
    Points
    250
    Par défaut
    Bonjour, j'ai avancé

    Voici la structure de mon projet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        - PorjectName
           - backend
               ......
               pom.xml
           - frontend
               .......
               pom.xml
           - pom.xml
    Quand j'execute mvn clean package depuis ProjectName et ensuite execute run ng serve depuis le repertoire frontend , il n'y a plus d'erreur. Pourquoi ?

    Voici le fichier pom.xml du module frontend

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
        <?xml version="1.0" encoding="UTF-8"?>
        <project xmlns="http://maven.apache.org/POM/4.0.0"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
          <parent>
          <groupId>dev.xavier</groupId>
            <artifactId>java-angular-commission</artifactId>
            <version>0.1-SNAPSHOT</version>
          </parent>
          <modelVersion>4.0.0</modelVersion>
          <artifactId>frontend</artifactId>
          <packaging>jar</packaging>
          <dependencies>
            <dependency>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-clean-plugin</artifactId>
              <version>3.1.0</version>
              <type>maven-plugin</type>
            </dependency>
          </dependencies>
          <build>
            <plugins>
              <!-- clean the dist directory used by Angular -->
              <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                  <filesets>
                    <fileset>
                      <directory>dist</directory>
                    </fileset>
                  </filesets>
                </configuration>
              </plugin>
     
              <plugin>
                <groupId>com.github.eirslett</groupId>
                <artifactId>frontend-maven-plugin</artifactId>
                <version>1.11.2</version>
     
                <executions>
     
                  <!-- Install node and npm -->
                  <execution>
                    <id>Install Node and NPM</id>
                    <goals>
                      <goal>install-node-and-npm</goal>
                    </goals>
                    <configuration>
                      <nodeVersion>v14.16.0</nodeVersion>
                    </configuration>
                  </execution>
     
                  <!-- clean install -->
                  <execution>
                    <id>npm install</id>
                    <goals>
                      <goal>npm</goal>
                    </goals>
                  </execution>
     
                  <!-- code validation -->
             <!--     <execution>
                    <id>npm run lint</id>
                    <goals>
                      <goal>npm</goal>
                    </goals>
                    <phase>test</phase>
                    <configuration>
                      <arguments>run lint</arguments>
                    </configuration>
                  </execution>-->
     
                  <!-- build app -->
                  <execution>
                    <id>npm run build</id>
                    <goals>
                      <goal>npm</goal>
                    </goals>
                    <configuration>
                      <arguments>run build --prod</arguments>
                    </configuration>
                  </execution>
     
                </executions>
              </plugin>
     
            </plugins>
     
            <resources>
              <resource>
                <!-- we copy the content of the frontend directory in the final artifact -->
                <directory>dist/frontend</directory>
              </resource>
            </resources>
          </build>
        </project>

    Peut-être parce que quand on lance le serveur, il requière les ressources depuis le répertoire dist ? Je ne peux plus tester, mais si c'est la raison, une alternative serait ng serve --aot

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 728
    Points : 250
    Points
    250
    Par défaut
    Bonjour,

    suite à mon dernier message, j'ai fait une Run/Debug configuration sur intelliji. L'astuce est de faire un mvn package sur le projet parent dans la rubrique Before Launch



    Nom : Capture d’écran 2021-04-30 à 13.01.36.png
Affichages : 108
Taille : 106,4 Ko

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/12/2010, 10h57
  2. Struts + Hibernate pour une page de Login
    Par Viscapon dans le forum Struts 1
    Réponses: 1
    Dernier message: 04/10/2008, 08h39
  3. [Requete] Erreur pour une requête créée en plusieurs fois
    Par soforever dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 09/05/2007, 16h30
  4. erreur pour une insertion d'une chaine de caractere dans une cellule
    Par amel95140 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/10/2006, 09h09

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