2016-07-03 14 views
3

Ich versuche, eine angular2 app zu kompilieren, aber ich erhalte den folgenden Fehler:Angular2 node_module rxjs 404 Fehler

Error: XHR error (404 Not Found) loading http://localhost:3000/node_modules/rxjs (…)

systemjs.config.js

(function(global) { 
    // map tells the System loader where to look for things 
    var map = { 
     'app': 'app', // 'dist', 
     '@angular': 'node_modules/@angular', 
     'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api', 
     'rxjs': 'node_modules/rxjs' 
    }; 

    // packages tells the System loader how to load when no filename and/or no extension 
    var packages = { 
     'app': { 
      main: 'main.js', 
      defaultExtension: 'js' 
     }, 
     'rxjs': { 
      defaultExtension: 'js' 
     }, 
     'angular2-in-memory-web-api': { 
      main: 'index.js', 
      defaultExtension: 'js' 
     }, 
    }; 
    var ngPackageNames = [ 
     'common', 
     'compiler', 
     'core', 
     'forms', 
     'http', 
     'platform-browser', 
     'platform-browser-dynamic', 
     'router', 
     'router-deprecated', 
     'upgrade', 
    ]; 

    // Individual files (~300 requests): 
    function packIndex(pkgName) { 
     packages['@angular/' + pkgName] = { 
      main: 'index.js', 
      defaultExtension: 'js' 
     }; 
    } 

    // Bundled (~40 requests): 
    function packUmd(pkgName) { 
     packages['@angular/' + pkgName] = { 
      main: '/bundles/' + pkgName + '.umd.js', 
      defaultExtension: 'js' 
     }; 
    } 

    // Most environments should use UMD; some (Karma) need the individual index files 
    var setPackageConfig = System.packageWithIndex ? packIndex : packUmd; 

    // Add package entries for angular packages 
    ngPackageNames.forEach(setPackageConfig); 

    var config = { 
     map: map, 
     packages: packages 
    }; 
    System.config(config); 

})(this); 

Die App-Ordner enthält: main.ts und YouTubeSearchComponent.ts

Was kann dieses Problem verursachen?

Antwort

6

Ihr rxjs Eintrag im Paket zu dieser Änderung:

'rxjs': { 
    main: '/bundles/Rx.umd.js', 
    defaultExtension: 'js' 
} 
+0

Dank! das kompilieren ohne fehler, warum sollte ich die mail-richtlinie setzen? bitte erkläre es mir –

+0

Das ist die Hauptkonfiguration, um systemjs die Hauptdatei mitzuteilen, die abgeholt werden soll. Überprüfen Sie node_modules/rxjs Sie finden Bundles/Rx.umd.js – Siraj

+0

Sie sind korrekt Siraj, muss auch Dateinamen für RXJs angeben. –

Verwandte Themen