2016-04-12 14 views
0

Haben Sie ein interessantes Thema mit System.js und Angular 2.Angular 2-System src können nicht Kern Sachen finden (ohne Pakete)

In Standard-Schnellstart wir dieses System config:

System.config({ 
     packages: { 
     built: { 
      format: 'register', 
      defaultExtension: 'js' 
     } 
     } 
    }); 
    System.import('built/main') 
     .then(null, console.error.bind(console)); 

Es ist funktioniert bei mir. Aber jetzt versuche ich alle Dateien von gebauten upp zu bewegen. Also main.js Datei auf einer Ebene mit index.html. Daher kann das Systempaket derzeit nicht bereitgestellt werden. Weil du einen Ordnernamen brauchst (alle node_module sind im root-Ordner mit allen eckigen2-Inhalten korrekt installiert).

Und ich versuche, einige einfache Konfiguration verwendet werden:

System.config({ 
     defaultJSExtensions: true 
    }); 
    System.import('main') 
     .then(null, console.error.bind(console)); 

bekam aber viele Fehler wie folgt aus:

system.src.js:1061 GET http://localhost:3000/angular2/platform/browser.js 404 system.src.js:1061 GET http://localhost:3000/angular2/router.js 404 (Not Found)

http://prntscr.com/ardlin

Vielen Dank für jede Hilfe!

+0

Ich denke, es ist, weil das System nicht weiß, wo sie suchen muss (node_module). Aber es ist nur Idee .. – Velidan

Antwort

3

Ich denke, dass Sie die Angular2 nicht mit einberechnet Dateien gebündelt:

<script src="node_modules/angular2/bundles/angular2.dev.js"></script> 
<script src="node_modules/angular2/bundles/router.dev.js"></script --> 

Da SystemJS Module enthalten sie finden kann, versucht es von Js zu laden, da Sie setzen das defaultJSExtensions Attribut true gesetzt in seinem Aufbau.

+0

Hallo Thierry, froh, Sie zu sehen :) nein, leider, in meinem Index.html alle Bundles sind enthalten http://prntscr.com/ardx9n – Velidan

+0

wenn ich defaultJsExtensions aus Systemkonfiguration entfernen. - Fehler: angular2-polyfills.js: 332 SyntaxError: Unerwartetes Token <(...) Ich habe main.js in main umbenannt, weil ich die Standard-Erweiterung entfernt habe, aber es ist fehlgeschlagen. Weiß nicht, was dieses System und Angular2 ohne Pakete Einstellung verwenden. Meine Hauptdatei auf der gleichen Ebene mit index.html – Velidan

+0

Hey! Ich auch ;-) Ich denke, dass es ein Problem mit Ihren Importen gibt. Es scheint, dass es 404 gibt, wenn man versucht, entsprechende Dateien zu laden. Könntest du das überprüfen? –

0

Thierry) du hast mir wieder sehr geholfen. Dank Freund :)

eines Ihrer ältesten Antworten gegründet für simillar Ausgabe Angular2 systemjs issues

Sie richtig sind. Wir MUSS halten Sie alle eckigen js-Dateien in einem Ordner. Dieser Ordner muss auf der gleichen Ebene wie index.html platziert und als lokales Paket registriert werden. Es ist wirklich seltsam und interessante Regel, aber was auch immer.