Was ist hier falsch? Ich versuche es zum Laufen zu bringen, aber ich bekomme diesen Fehler in der Kopfzeile. Ich habe das <router-outlet></router-outlet>
in das aufgenommen app.component.html
, was von der templateUrl
angerufen wird app.component.ts
, immer noch kein Glück.
app.module.ts :
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { RouterModule, Routes } from '@angular/router';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { TopnavComponent } from './components/navbars/topnav/topnav.component';
import { LeftnavComponent } from './components/navbars/leftnav/leftnav.component';
import { LeftnavsecondaryComponent } from './components/navbars/leftnav-secondary/leftnav-secondary.component';
import { WorldofwarcraftComponent } from './components/games/worldofwarcraft/worldofwarcraft.component';
@NgModule({
imports: [ BrowserModule, FormsModule, AppRoutingModule ],
declarations: [ AppComponent, TopnavComponent, LeftnavComponent, LeftnavsecondaryComponent, WorldofwarcraftComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
app-routing.module.ts :
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { WorldofwarcraftComponent } from './components/games/worldofwarcraft/worldofwarcraft.component';
const appRoutes: Routes = [
{ path: 'worldofwacraft', component: WorldofwarcraftComponent }
];
@NgModule({
imports: [ RouterModule.forRoot(appRoutes) ],
exports: [ RouterModule ]
})
export class AppRoutingModule {}
angular
angular2-routing
Kyriakos Menelaou
quelle
quelle
Antworten:
Ich habe den gleichen Fehler erhalten, manchmal tritt dieses Problem auf und Sie müssen den Server nur mit
ng serve
oder mit der von Ihnen verwendeten CLI erneut ausführen , wie hier erwähntquelle
Ich hatte den gleichen Fehler und entdeckte den Grund. Der Grund waren zwei Kommas in einem Array (zum Beispiel:
imports
Eigenschaft) wie diesem.quelle
Versuchen Sie dies kann Ihnen helfen:
Beenden und starten Sie den
ng-serve
Dienst. Jetzt konnte die Seite navigieren.quelle
Dies wurde verursacht, weil ich den Export in einer meiner index.ts-Dateien wiederholt habe:
quelle
Dies ist ein sehr ärgerlicher und schwer verständlicher Fehler. Ich habe einen Dateivergleich mit Araxis Merge durchgeführt und festgestellt, dass jede Datei in meinen beiden Projekten auf den ersten Blick fast identisch war. Nach weiterer Überprüfung stellte ich jedoch einen geringfügigen Unterschied in der Dateistruktur fest (nach dem ich zuerst nicht wirklich gesucht hatte, sondern nach Konfigurationsunterschieden), dass mein zweites Projekt eine js-Datei aus einer der ts-Dateien generiert hatte.
Wie Sie auf der linken Seite sehen können, befindet sich eine js-Datei. Das Projekt auf der rechten Seite zeigte meine Node-Builder-Komponente und lief fehlerfrei. Die rechte Seite hat das Problem verursacht.
Webpack hatte diese Javascript-Datei aufgenommen und versucht, sie zu verpacken. Als Webpack auf die ts-Version stieß, wurde es offensichtlich in eine doppelte js-Datei transpiliert, wodurch eine verwirrende Laufzeitausnahme entstand.
Wie Sie sehen, hatte dieses Problem nichts mit der Konfiguration zu tun, da mich viele Beiträge zu der Annahme veranlasst hatten. Wie oben erwähnt, hat Ihr Problem möglicherweise mit der Konfiguration zu tun, in meinem Fall jedoch nicht.
quelle
Dies ähnelt der Antwort, die eine erneute Ausführung vorschlägt
ng serve
, war jedoch für meine Situation nicht relevant, da die App permanent in IIS ausgeführt wird. In meinem Fall hatte ich mit gebautng build --watch
, aber das zu stoppen und erneut auszuführen behebt das Problem. Ich gehe davon aus, dass etwas falsch erstellt wurde, als es ein inkrementeller Build war, aber das vollständige Build hat das Problem behoben.quelle
In meinem Fall war der Klassenname unterschiedlich und der Name zwischen {name}, der in app.mdoule.ts exportiert wurde, war unterschiedlich
Viel Glück
quelle
In meinem Fall auf app.module.ts (Ionic 3)
Gewechselt zu:
Und funktioniert.
quelle
In meinem Szenario habe ich einen Fehler wie unten gemacht
und im Modul
Das Komponentenarray im Routing sollte folgendermaßen aussehen.
quelle
In meinem Fall lag es am Build-Problem. Möglicherweise haben Sie einige Komponenten oder andere Dinge in Ihr App-Modul aufgenommen und vergessen, es neu zu erstellen. Daher kann Angular im Browser Ihre neuen Einträge im App-Modul nicht erkennen, da ein Build erforderlich ist, um sie ordnungsgemäß zu registrieren. Beenden Sie für den Entwicklungsmodus den aktuellen Server und verwenden Sie ng serve.
quelle
Das ist mir auch passiert, in dem
@Component
ich Selector geschrieben habe:all-employees
und imapp.module.ts
Modul war es<all- employees></all- employees>
quelle
Ich habe dies mit Angular 2 erlebt und es hat sich herausgestellt, dass es etwas mit Importen und relativen Pfaden zu tun hat, wenn Sie etwas vom selben Speicherort exportieren
Wenn Sie beispielsweise Fässer verwenden, geben Sie die explizit an
./
Anstatt von
quelle
Ich hatte das Problem, dass
export class someClassName
in einer meiner Dateien ein unbekannter / falscher Klassenname verwendet wurde (Kopier- / Einfügefehler) und nirgendwo registriert wurde (z. B. `AppModule.ts *).quelle
Ich habe diesen Fehler erhalten, weil ich fälschlicherweise
TestBed.configureTestingModule
außerhalb einesbeforeEach
Blocks platziert habe.quelle