2015-11-24 7 views
7

Ich bin ziemlich neu mit Angular und Systemjs, aber ich werde versuchen, so genau wie möglich zu sein.Angular 2: System-Import-App funktioniert nicht ohne Dateierweiterung

Ich arbeite mit angularjs2 und Typoskript. Ich kompiliere meine .ts Dateien mit einem tsconfig.json. Hier ist meine config:

enter image description here

Als nächstes möchte ich meine Bewerbung durch meine index.html mit systemjs Bootstrap. Aber mein Import akzeptiert keine init ohne Verlängerung (unten, mein init, dass tatsächlich funktionieren):

System.config({ 
     transpiler: 'typescript' 
    }); 
    System.import('src/app.ts'); 

Ich bin gezwungen, die .ts Verlängerung (gleiches Problem in ts Dateien zu erwähnen, wenn ich importieren mag handgefertigte Komponenten).
Vergesse ich etwas? Die Dokumentation ist für Anfänger bei ersten Konfigurationen etwas grob. Außerdem
, ich habe in <head> genannt habe alle meine Skripte (system.js, typescript.js, angular2.dev.js)

+0

Fanden Sie diese Antwort herausfinden herausfinden? Ich bin mit dem gleichen Problem konfrontiert – Ayyash

+0

Nein, leider ... – KCarnaille

Antwort

3

ich die neue Version von AngularJS studieren bin und jedes Mal, dass ich brauchte, bis zu setzen t SystemJS Ich verwende diese Konfiguration auf meiner Indexseite.

System.config({ 
    packages: {   
     app: { 
     format: 'register', 
     defaultExtension: 'js' 
     } 
    } 
    }); 

Sie müssen sagen, was ist Ihre Erweiterungsdatei zu SystemJS laden Sie Ihre Module, ich halte es Ihnen geholfen.

+1

gut auch das funktioniert nicht in Chrom von vs 2015. Mai sein Iis Express macht etwas lustiges. (mit system.src.js) – TheVillageIdiot

-1

Ich würde empfehlen, den in Angulars 5-Min Quickstart guide beschriebenen Prozess zu verwenden. Ich bin mir nicht sicher, ob es zurück war, als diese Frage gestellt wurde. Es dauert alle Ratespiele, um Ihre Module richtig geladen zu bekommen.

+0

bitte posten Sie etwas Code und nicht nur den Link @ djeastm – fabersky

+1

Ich würde, aber es wäre einfach eine große Ausschneiden und Einfügen von Angulars Website. Die direkte Verknüpfung mit der Quellwebseite schien am klügsten, vor allem, da sie viele Links zu Plunkr-Beispielen, den API-Dokumenten usw. enthält. Ich schlug die Seite nur vor, weil ich nicht glaube, dass es damals war, als KCarnaille die Frage zum ersten Mal veröffentlichte. – djeastm

+0

Dann sollte dies nur ein Kommentar sein, ein Link nur Antwort ist keine Antwort –

1

Auf dem angularjs Quickstart erwähnen sie nicht, dass die Paketnamen übereinstimmen müssen. Ich brauchte eine Weile, um es herauszufinden.

System.config({ 
    packages: {   
     WHATEVER: { 
     format: 'register', 
     defaultExtension: 'js' 
     } 
    } 
    }); 
System.import('WHATEVER/app'); 
+0

Ist die '.ts' in System.import erforderlich ('WHATEVER/app.ts'); ? In dem erwähnten Angular2 Quickstart (@april 2016) geben sie die Erweiterung '.ts' nicht an. – mvermand

+0

mein schlechtes. Es war ein Tippfehler – CESCO

4

ich ein ähnliches Problem hatte, ist nur dass ich nicht bin mit Winkel

@Nicolas in die richtige Richtung, müssen Sie „Default“, für mich die folgende Konfiguration hat die hinzufügen Trick:

packages: { 
    '.': { 
     defaultJSExtensions: 'js' 
    } 
}, 

Sie können mehr über how to configure systemjs auf github