2016-05-04 15 views
6

Wenn ich in dieser Codezeile in mein @Component hinzufügen:Angular gibt @ Winkel/Kern 404 nicht gefunden Fehler, wenn Direktiven

directives: [HeroDetailComponent] 

Die Code Umbrüche und gibt mir diese Fehlermeldung:

GET http://localhost:3000/@angular/core 404 (Not Found) 

Dies sind die Skripte in meinem index.html:

<script src="node_modules/es6-shim/es6-shim.min.js"></script> 
<script src="node_modules/systemjs/dist/system-polyfills.js"></script> 
<script src="node_modules/angular2/es6/dev/src/testing/shims_for_IE.js"></script> 

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

Wenn ich fehle ou Wenn Sie Informationen zur Diagnose dieses Problems benötigen, sagen Sie es mir bitte, und ich werde es hier einfügen.

+1

Es scheint, als würden Sie die Javascript-Dateien für eine alte angular2-Version "pre rc.0" einbinden. Aber Sie verwenden die neue eckige Benennung zum Importieren von z. '@ angular/core' – Abdulrahman

+0

@Abdulrahman wie kann ich das beheben? – think123

+0

[Lesen Sie den neuen Schnellstart] (https://angular.io/docs/ts/latest/quickstart.html) oder klonen Sie einfach den [angular2-seed] (https://github.com/angular/angular2- seed) – Abdulrahman

Antwort

7

Wenn Sie die RC-Version von Angular2 verwenden möchten, müssen Sie SystemJS auf diese Weise konfigurieren:

var packages = { 
    'app': { main: 'main.js', defaultExtension: 'js' }, 
    'rxjs': { defaultExtension: 'js' }, 
    'angular2-in-memory-web-api': { defaultExtension: 'js' }, 
}; 

var packageNames = [ 
    '@angular/common', 
    '@angular/compiler', 
    '@angular/core', // <-------- 
    '@angular/http', 
    '@angular/platform-browser', 
    '@angular/platform-browser-dynamic', 
    '@angular/router', 
    '@angular/router-deprecated', 
    '@angular/testing', 
    '@angular/upgrade', 
]; 

packageNames.forEach(function(pkgName) { 
    packages[pkgName] = { main: 'index.js', defaultExtension: 'js' }; 
}); 

var config = { 
    map: map, 
    packages: packages 
} 

System.config(config); 

Wenn Sie Beta-Versionen verwenden möchten, nachdem die node_modules/angular2/bundles/angular2.dev.js Datei in einem Element script enthalten haben, importieren statt dieses Paket:

import {Component, Directive, ...} from 'angular2/core'; 
0

Änderung dieser

import { InMemoryBackendService, SEED_DATA } from 'angular2-in-memory-web-api'; 

zu - >>

import { InMemoryBackendService, SEED_DATA } from 'angular2-in-memory-web-api/in-memory-backend.service'; 

in Ihrem main.ts

4

Ich hatte den gleichen Fehler, wenn ich das Eckige 2 Tutorial https://angular.io/docs/ts/latest/tutorial/toh-pt3.html zu folgen versucht.

Aber ich herausfinden, das Problem ist, dass ich in app.component.ts einen Tippfehler hatte, die erste Zeile sollte sein:

import { Component } from '@angular/core';

Aber ich schrieb einen Großbuchstaben von ‚Kern‘:

import { Component } from '@angular/Core' 

Also mein Rat ist, dass Sie den richtigen Namen der Ressource schreiben zu machen, bevor versuchen SystemJS zu revidieren.

Verwandte Themen