2016-05-07 7 views
2

TypeScript und ng2 rc.1 bekommen Fehler: (20, 15) TS2304: Name 'Modul' kann nicht gefunden werden.TypeScript und ng2 rc.1 bekommen Fehler: (20, 15) TS2304: Name 'Modul' nicht gefunden

wenn in

@Component({ 
    selector: 'Notes1', 
    moduleId: module.id, 
    directives: [ModalDialog, FORM_DIRECTIVES, DisplayError], 
    templateUrl: 'Notes1.html', 
    styleUrls: ['Notes1.css'] 
}) 

eine Ahnung, wie Richtlinie des Moduls zu verwenden, wie der Versuch, den TS Fehler .. alles funktioniert gut zur Laufzeit

Grüße

Sean

Antwort

2

zu beheben Der Fehler bedeutet, dass der TypeScript-Compiler nicht weiß, was module ist. Für eine schnelle Lösung:

declare var require: any; 

Um es komplett zu machen, verwenden Sie eine Definition von DefinitelyTyped/node:

interface NodeRequireFunction { 
    (id: string): any; 
} 

interface NodeRequire extends NodeRequireFunction { 
    resolve(id:string): string; 
    cache: any; 
    extensions: any; 
    main: any; 
} 

declare var require: NodeRequire; 

interface NodeModule { 
    exports: any; 
    require: NodeRequireFunction; 
    id: string; 
    filename: string; 
    loaded: boolean; 
    parent: any; 
    children: any[]; 
} 

declare var module: NodeModule; 
+0

Danke, ja, ich habe schon die gleiche fix '' 'deklarieren var Modul: NodeModule;' '' aber ich frage mich (leider war ich nicht mehr ausdrücklich auf meine Frage) Warum ist es nicht Teil einer @ angle2 import-Anweisung wie der Rest der Plattform? – born2net

+0

Das Modulobjekt wird in NodeJS definiert und in der Node-Deklarationsdatei deklariert. Entweder haben Sie diese Deklarationsdatei nicht oder Sie verweisen nicht korrekt in Ihrer tsconfig.json-Datei. – moefinley

-1

Die Art und Weise Ich reparierte das war einfach Id nach Modul wie dieser „moduleId“ hinzufügen: " commonjs ", in meiner tsconfig-Datei und der Fehler ist weg!

hoffe, das hilft, Jim

Verwandte Themen