2016-04-25 121 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'定义吗? –