2016-03-20 3 views
3

Ich folgte der Angular2-Schnellstartanleitung von angular.io Sie verwenden systemJs zum Laden von Apps.Laden der angular2-Bibliothek mit systemJs

angular2, rx.js und angular2.dev.js werden über Skriptverweis anstelle des Imports geladen ..

Gibt es trotzdem, diese Skripte zu importieren?

<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> 

    <!-- 2. Configure SystemJS --> 
    <script> 
     System.config({ 
     packages: {   
      app: { 
      format: 'register', 
      defaultExtension: 'js' 
      } 
     } 
     }); 
     System.import('app/main') 
      .then(null, console.error.bind(console)); 
    </script> 
    </head> 

    <!-- 3. Display the application --> 
    <body> 
    <app>Loading...</app> 
    </body> 

Antwort

1

der Angular2 Einschließlich bündelt Register direkt seine Pakete die System.register Methode.

Das heißt Sie auch SystemJS konfigurieren können Angular2 Dateien von Dateien für die einzelnen Module mit dem folgenden Konfiguration, aber es ist weniger effizient zu laden:

<script src="node_modules/es6-promise/dist/es6-promise.js"></script> 
<script src="node_modules/es6-shim/es6-shim.js"></script> 

<script src="node_modules/angular2/bundles/angular2-polyfills.min.js"></script> 
<script src="node_modules/systemjs/dist/system.src.js"></script> 

<script> 
    System.config({ 
    defaultJSExtensions: true, 
    map: { 
     angular2: 'node_modules/angular2/src', 
     rxjs: 'node_modules/rxjs' 
    }, 
    packages: { 
     app: { 
     defaultExtension: 'js', 
     format: 'register' 
     }, 
     angular2: { 
     defaultExtension: 'js', 
     } 
    } 
    }); 
    (...) 
</script> 

In beiden Fällen ist es möglich, importieren entsprechenden Module (angular2/*, rxjs/*) in Ihrer Bewerbung.

+3

Warum laden Sie die Polyfills von angular nicht aus 'node_modules/angular2/bundles/angular2-polyfills.min.js'? –

+0

Vielen Dank @CosminAbabei für das Aufzeigen! Du hast vollkommen recht. Ich aktualisierte meine Antwort entsprechend ... –

+0

Diese Lösung schlägt mit dem folgenden Fehler fehl: "system.src.js: 1085 GET http: // localhost: 3000/knotenmodule/angular2/src/plattform/browser.js" was ich bemerkte, ist das Es gibt keine browser.js-Datei im Plattformordner – runtimeZero