2016-06-24 14 views
4

Ich versuche ein Angular 2-Projekt auszuführen und implementiert @angular/router.404 router.umd.js Nicht gefunden, Angular 2

Die App funktioniert gut, bis ich versuchen:

import { provideRouter, RouterConfig } from '@angular/router'; 

, weil es zu finden versucht:

http://localhost:3000/node_modules/@angular/router/bundles/router.umd.js 

die Ergebnisse:

Error: GET http://localhost:3000/node_modules/@angular/router/bundles/router.umd.js 404 (Not Found) 

Es gibt keine/bundle /router.umd.js

Angular versucht, diese Datei zu finden, weil:

var ngPackageNames = [ 
    'common', 
    'compiler', 
    'core', 
    'forms', 
    'http', 
    'platform-browser', 
    'platform-browser-dynamic', 
    'router', 
    'router-deprecated', 
    'upgrade', 
]; 

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

Hier ist package.json:

... 
    "dependencies": { 
    "@angular/common": "2.0.0-rc.3", 
    "@angular/compiler": "2.0.0-rc.3", 
    "@angular/core": "2.0.0-rc.3", 
    "@angular/forms": "0.1.1", 
    "@angular/http": "2.0.0-rc.3", 
    "@angular/platform-browser": "2.0.0-rc.3", 
    "@angular/platform-browser-dynamic": "2.0.0-rc.3", 
    "@angular/router": "3.0.0-alpha.7", 
... 

ich versuchen, das Paket npm install @angular/router mit aktualisieren, aber diese Fehlermeldung erhalten:

├── UNMET PEER DEPENDENCY @angular/[email protected] 
├── UNMET PEER DEPENDENCY @angular/[email protected] 
└── @angular/[email protected] 

Ich weiß, dass Angular2 noch in der Beta ist. Irgendwelche Hilfe hier?

+0

** temporäre Lösung **: wenn Sie nicht angular2-in-Speicher-web-api verwenden , dann entferne es aus package.json, ändere angular/router vers ion zu alpha 8, lösche den Ordner node_modules und führe npm erneut aus. –

Antwort

3

Ich bin sicher, dass das Paket ändern, da es immer noch Alpha aber bis dahin können Sie es aus dem ngPackageNames Objekt nehmen und laden in die Pakete Objekt als

'@angular/router': { main: 'index.js', defaultExtension: 'js' } 

Ich glaube nicht, es entspricht mit dem Muster andere Module noch

Hier ist ein Beispiel habe ich versucht, und scheint den richtigen Router zu bekommen: Gist

+0

Nur um klar zu sein, habe ich meine Frage bearbeitet. Die Datei existiert nirgendwo. – theblindprophet

+0

Richtig, das Router-Paket hat momentan kein Bundle. Aufgrund dieses Problems muss es separat von den anderen Elementen geladen werden. Das bedeutet, dass Sie es aus dem ngPackageNames-Objekt entfernen und es wie oben zum Paketobjekt hinzufügen müssen – JacobS