angular2: Uncaught SyntaxError: Unexpected token <
Ich bekomme immer diese Fehler Uncaught SyntaxError: Unexpected token <
immer wenn ich versuche zu laufen, meine angular2 Anwendung. Dies ist nur eine änderung auf der Grundlage der routing 'tutorial' der angular2 website.
In der Regel diese Art von Fehlern, die für sich sprechen, wo ich miswrote ein Stück code. Aber der Chrome-Konsole sagt mir, das Fehler tritt innerhalb eines angular2 js-Datei.
Lesen und versuchen, die Antworten aus beiden Chrome nicht Erfasste Syntax Error: Unexpected Token ILLEGAL
und C4819 Warnung: Wie finden Sie die Zeichen, die gespeichert werden in unicode?
hat nicht funktioniert. Vermute, dass der Fehler irgendwo in meinem boot.ts oder app.Komponente.ts.
boot.ts
import {bootstrap} from 'angular2/platform/browser';
import {ROUTER_PROVIDERS} from 'angular2/router';
import {AppComponent} from './app.component';
import {HallService} from './hall/hall.service';
bootstrap(AppComponent,[
ROUTER_PROVIDERS,
HallService
]);
app.Komponente.ts
import {Component} from 'angular2/core';
import {RouteConfig, ROUTER_DIRECTIVES} from 'angular2/router';
import {HallCenterComponent} from './hall/hall-center.component';
@Component({
selector: 'my-app',
template: `
<h1 class="title">Component Router</h1>
<a [routerLink]="['HallCenter']">Hallen</a>
<a>Heroes</a>
<router-outlet></router-outlet>
`,
directives: [ROUTER_DIRECTIVES]
})
@RouteConfig([
{
path: '/hall/...',
name: 'HallCenter',
component: HallCenterComponent,
useAsDefault: true
}
])
export class AppComponent { }
index.html
<html>
<head>
<base href="/">
<title>Factory project</title>
<link rel="stylesheet" href="styles.css">
<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="node_modules/rxjs/bundles/Rx.js"></script>
<script src="node_modules/angular2/bundles/angular2.dev.js"></script>
<script src="node_modules/angular2/bundles/router.dev.js"></script>
<script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('app/boot')
.then(null, console.error.bind(console));
</script>
</head>
<body>
<my-app>loading...</my-app>
</body>
</html>
Halle-center.Komponente.ts
import {Component} from 'angular2/core';
import {RouteConfig, RouterOutlet} from 'angular2/router';
import {HallListComponent} from './hall-list.component';
import {HallDetailComponent} from './hall-detail.component';
import {HallService} from './hall.service';
@Component({
template: `
<h2>HALL CENTER</h2>
<router-outlet></router-outlet>
`,
directives: [RouterOutlet],
providers: [HallService]
})
@RouteConfig([
{path:'/', name: 'HallCenter', component: HallListComponent, useAsDefault: true},
{path:'/:id', name: 'HallDetail', component: HallDetailComponent},
{path:'/list/:id', name: 'HallList', component: HallListComponent}
])
export class HallCenterComponent { }
- was nutzt du als server? Ich bekomme in der Regel diese Art von Fehler, wenn ich die Karte der Routen schlecht auf dem server und es gibt index.html anstelle von javascript
- Es gibt bereits mehrere Fragen mit ähnlichen Fehlern. Haben Sie überprüfen Sie stackoverflow.com/...
- Zöchbauer ich habe 5 Lösungen so weit, entweder ich hatte Sie ja schon in meinem code, oder es hat nicht geholfen :s
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie mehrere Probleme:
du component selector ist : 'my-app'
sollte
Auch, Sie importieren eine falsche Datei:
sollte
Auch, es sei denn, Sie werden kompilieren, Ihr Typoskript für die java-script.. sollte man ändern Sie diese Zeile und importieren typescript.js
sollte
Auch, Sie fehlen einige Importe:
Hier ist ein plunker von Ihrem code arbeiten
So dass die oben genannten Antworten scheinen richtig zu sein, aber hier finden Sie einige Informationen über den Fehler an sich (nur für die anderen, die laufen in das gleiche problem, zu Fragen, was Sie falsch gemacht haben), weil es scheinen kann, buchstäblich mit jede einzelne importieren und ist sehr schwer auf die Spur.
Es wird immer angezeigt, wenn eine Datei benötigt wird und der webserver ist so konfiguriert, dienen nur
/
statt einer404-file-not-found-page
./
in der Regel übersetzt Sie dann in/index.html
und es das erste Zeichen in der Regel ist<
(meist der Beginn der<!DOCTYPE html>
) und da ist kein Gültiger javascript-der browser wirft eine illegale token Ausnahme.Nehme ich an, das Sie installiert haben eckige 2-beta-release. In diesem Fall müssen Sie zur Installation zusätzliche Module:
Importieren und diese scripts:
EDIT:
In der Tat, diese änderungen eingeführt in alpha-49
index.html
In meinem Fall der Fehler kam aus dem vergessen zu zählen
HTML:
in index.html
In meinem Fall hatte ich
welche gab Fehler.
Änderte ich
und das problem ging Weg. So erinnert die groß-und Kleinschreibung.
from './rxjs/Rx';
und manchmal musste es seinfrom 'rxjs/Rx';
kann mich nicht erinnern, welche eine, woLief in dieser in der beta 3 mit der rxjs v5.0.0-beta.0-Paket empfohlen, in den Winkel-2 quick start. Ich wechselte von der npm-Paket, die auf den Winkel beta CDN und es funktionierte gut.
Lief in dieser heute mit Winkel-2.0.0-beta.0 und rxjs. Hatte zu ändern
zu
stellen Sie sicher, dass Sie vollständigen Pfad beim import. Auch stellen Sie sicher, dass Sie ./vor Dateien, die Sie importieren, die sind im selben Verzeichnis.
Also, wenn Datei.ts will import-service.ts, welche sich im gleichen Verzeichnis ist, dann Sie shoule schreiben Sie den import so:
wenn Sie schreiben,
dann werden Sie diese Fehlermeldung erhalten
Dies ist aufgrund SystemJS versuchen zu Holen rxjs Methoden aus einem relativen Pfad anstelle der Bibliothek selbst
Musste ich einfügen dieser Codezeile innerhalb der Systemjs Konfiguration
System.config({})
Brauchte mehrere Stunden, um zu finden, diese Lösung
Quelle