Ist TypeScript empfindlich gegenüber der Reihenfolge der Typdeklarationen?Typ Deklarationsreihenfolge in TypeScript
die Reihenfolge der Typ ändern, verursacht einen Fehler innerhalb Angular 2 (beta.0), die (AFAIK) Typoskript mit implementiert selbst (das ist, warum dieser Fehler so seltsam & irrelevant mir scheint):
angular2-polyfills.js:138 Error: Cannot read property 'prototype' of undefined(…)
Angenommen wir eine Datei t1.ts
haben:
export class AuthResponse extends JsonResponse { }
export class JsonResponse {
public code: ResultCode;
}
export enum ResultCode { }
Beim Starten der App, sehen wir den Fehler erwähnt, auf Client-Seite. Aber wenn wir die Reihenfolge der Deklarationen in dieser Datei umkehren, verschwindet der Fehler (nur für den Rekord, derzeit gehe ich vorwärts, unter Berücksichtigung dieser & es funktioniert).
diesen Fehler zu reproduzieren brauchen wir fünf weitere Dateien:
t2.ts
:
import {AuthResponse, JsonResponse, ResultCode} from './t1'; // this order?
export class DummyAction {
doSomething() {
console.log('test, starting ...');
var v = new AuthResponse();
return v;
}
}
app.component.ts
:
import {Component, OnInit} from 'angular2/core';
import {DummyAction} from './components/t2';
@Component({
selector: 'root-app',
templateUrl: '/app/templates/app.html',
})
export class AppComponent implements OnInit {
constructor() {
var tester = new DummyAction();
// tester.runTest();
}
ngOnInit() { }
}
app.html
:
<h1>TEST</h1>
boot.ts
:
import {bootstrap} from 'angular2/platform/browser';
import {AppComponent} from './app.component';
bootstrap(AppComponent, []);
Und index.html
, die ein bisschen größer, aber im Wesentlichen ist, hat die Struktur der index.html
von Tutorial auf angular Website.
Ich habe das Problem reproduziert mit dem Code in der Frage zur Verfügung gestellt. –