2016-01-07 45 views
0

打字稿方法在我的Node.js應用程序,我有一個定義方法打字稿文件(util.ts):如何正確導出的Node.js應用

export function myFunc() { console.log(42); } 

我用它在另一個打字稿文件:

const util = require('./util'); 
util.myFunc(); 

這工作得很好,但util常量的類型是any。我怎樣才能使它類型化,在某種程度上,當我鍵入util.,我的編輯會知道如何自動完成的,當我寫:

util.myOtherFunc(); 

打字稿編譯器將失敗,並說util沒有一種myOtherFunc方法?

回答

1

我怎樣才能使輸入

相反的:

const util = require('./util'); 

務必:

import util = require('./util'); 

更多

https://basarat.gitbooks.io/typescript/content/docs/project/modules.html

+0

我試過使用導入,但失敗了。進一步檢查發現,因爲我們的TypeScript項目是從JavaScript中移植過來的,所以我們仍然使用node.js語法exports.myFunc(而不是像我在我的問題中寫的那樣),當我試圖導入它時,我得到「錯誤TS2306:文件'util.ts'不是一個模塊。「我現在意識到,我需要爲TypeScript編譯器使用TypeScript語法「導出函數」,將其視爲模塊並將其轉換爲「exports.myFunc =」表單。謝謝回答! – splintor