2012-10-02 51 views
6

我有了的require個字符串,這樣一個節點的應用程序:如何使用TypeScript導入外部文件?

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

此代碼的工作沒有變化,但我怎麼能採取的打字稿模塊充分利用?剛開始使用

import data = module("./data") 

會告訴我

名稱「」 ./data'並不在當前範圍內

如何導入以打字稿外部文件存在嗎?

回答

4

的例子,

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

包含一個稱爲node.d.ts文件,它示出了如何聲明類型爲現有的node.js模塊。

TypeScript需要聲明模塊用於import語法。這通常在.d.ts文件中提供,但可以包含在同一個文件中。一個例子,這可能是什麼樣子,

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

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

var myData = data.getData(); 

.d.ts文件declare關鍵字是隱含的,可以省略。

+1

它似乎不能在當前(1.0)版本的typescript編譯器中工作。 –