2016-09-25 24 views
1

我嚴格遵循official guide for declaration中的示例。在Typescript中,如何使用提供全局變量的javascript庫?

全局庫

// foo.js 
foo = 20; 

聲明文件

// foo.d.ts 
declare const let foo: number; 

消耗聲明文件和庫

// app.ts 
/// <reference path="./foo.d.ts" /> 
console.log(foo); 

的錯誤信息是:

找不到名字'foo'。 (2304)

我問過similar question,但問題沒有解決。 我知道理論並已閱讀官方指南。但官方指南告訴你如何編寫聲明文件,但未能提供如何導入聲明文件的示例。

你能幫我編輯代碼,使上面的例子工作?

回答

0

問題是您的聲明文件使用無效語法。如果foo僅用作只讀變量,請使用以下語法:

declare const foo: number; 
+0

不起作用。當我編譯app.ts時,錯誤消息是「foo未定義」 –

+0

我認爲問題出在app.ts.我輸入正確嗎? –

+0

是的,這種進口應該工作。這兩個文件應該在同一個目錄中。作爲一個附註,你應該將foo.ts重命名爲其他東西,因爲生成的foo.js會覆蓋你的。 – krontogiannis