2012-10-02 16 views
6

Ho un app nodo che ha una serie di require s, in questo modo:Come posso importare un file esterno con TypeScript?

var express = require('express'), 
    router = require('./router'), 
    data = require('./data'); 

Questo codice funziona senza modifiche, ma come posso sfruttare appieno moduli dattiloscritto? Usando solo

import data = module("./data") 

mi dirà

Il nome '' ./data '' non esiste nell'ambito corrente

Come posso importare un file esterno con typescript?

risposta

4

L'esempio,

http://www.typescriptlang.org/Samples/#ImageBoard

contiene un file chiamato node.d.ts che mostra come dichiarare i tipi per un modulo node.js esistente.

TypeScript richiede che il modulo sia dichiarato per l'uso alla sintassi import. Questo è tipicamente fornito in un file .d.ts ma può essere incluso nello stesso file. Un esempio questo potrebbe essere simile,

declare module "./data" { 
    function getData(): number; 
} 

import data = module("./data"); 

var myData = data.getData(); 

In .d.ts di file le parole chiave declare è implicito e può essere omesso.

+1

Non sembra funzionare nella versione corrente (1.0) del compilatore dattiloscritto. –

Problemi correlati