2016-07-26 25 views
1

Ich habe die Datei react.d.ts aus DefinitelyTyped gezogen und sie in mein Projekt als node_modules/react/react.d.ts aufgenommen. Nun, wenn ich import * as React from "node_modules/react/react" schreiben, erhalte ich folgende Fehlermeldung:TypeScript: TS2036 Fehler "Kein Modul" beim Arbeiten mit DefinitelyTyped-Definitionen

Error TS2306: File '.../node_modules/react/react.d.ts' is not a module. 

Ich kann, indem man die folgenden Zeilen in react.d.ts dieses Problem umgehen:

declare module "react" { 
    export = __React; 
} 

zu:

export = __React; 

Meine Frage ist: Was ist der empfohlene Workflow für die Arbeit mit TypeScript-Definitionsdateien?

+0

Warum sind ausdrücklich Sie den Dateipfad innerhalb Knotenmodule geben? Sie sollten nur 'import * als React from" react "' – cdbajorin

+0

benötigen. Woher weiß RequireJS, wo Sie meine Module finden können? –

+0

Sie sagen es die Pfade in 'require.config ({Pfade: {...}})' – cdbajorin

Antwort

2

Mit dem neuen TypeScript 2.0, noch in der Betaversion (npm install [email protected] -g), sollten Sie Ihre Definitionsdateien mit npm install @types/react greifen. Zweitens, wenn es eine Anweisung export = in einem Modul (oder eine Erklärung eines Moduls), sollten Sie entsprechend mit Syntax importieren import = wie folgt aus: import React = require('react');