2016-04-25 156 views
2

我正在使用Angular2-Meteor,TypeScript。 (流星版本1.3.2.4)找不到名稱'console'

當我在服務器端上使用console.log('test');時,它運行良好。

不過,我在我的終端這樣的警告:

找不到名稱「控制檯」。

我該如何擺脫此警告?

或者是否有任何特殊的方法,如Meteor.log服務器端?謝謝

回答

1

@barbatus是angular2-meteor的主要貢獻者,他在Github上給出了答案。

問題在於TypeScript軟件包在服務器端使用lib.core.ts默認lib,它沒有控制檯的定義。現在,來自其他方的NodeJS定義僅在全局範圍內定義了控制檯(即global.console)。

解決方法就是在你的終端運行以下命令:

typings install registry:env/meteor --ambient 

請到here瞭解更多詳情。

2

我該如何擺脫此警告?

如果一個打字稿編譯器警告(而不是運行一個),然後consolelib.d.ts定義:https://basarat.gitbooks.io/typescript/content/docs/types/lib.d.ts.html

確保編譯器是否設置正確(如沒有--noLib或一些自定義不正確的--lib)。你可能想看看你的tsconfig.jsoncompilerOptions(如果有的話)

+0

感謝您的幫助! –

+0

你提到,'不正確--lib'。你知道哪個庫包含'console'定義嗎? –