JsHint抛出有关“令牌后预期的标识符”的错误

时间:2014-04-28 09:33:31

标签: eclipse node.js eclipse-plugin socket.io jshint

我使用node.js和socket.io创建了一个小型聊天应用。它对我来说很好,但是我的编辑器(Eclipse)插件JsHint在我的代码中向我显示了一个错误,如下所示。

io.sockets.in(room).emit(msgtype, data);

错误:

Syntax error on token ".", Identifier expected after this token

上面的代码对我运行得很好,但编辑器显示错误。我不明白是什么问题,我有谷歌相同的错误,但仍然没有得到任何解决方案。如果有人告诉我如何在node.js中编写代码,这对我很有帮助。

感谢,

2 个答案:

答案 0 :(得分:1)

你确定问题来自JSHint吗?我在Eclipse中遇到了完全相同的问题,我也安装了JSHint插件,因此(错误地)假设JSHint对此有所警告。我尝试了es5:true等等,没有任何效果。然后我意识到JSHint没有显示这个错误。当您查看“问题”选项卡时,您可能会在错误之后看到类似“Javascript问题”的内容,在这种情况下,JSDT验证(仅作为es3可用)正在运行而不是JSHint,这是nodeclipse将默认为远程据我了解,如果安装。我在禁用它时遇到了很大的问题,试图在Window-Preferences中“暂停验证”等等。最后,我编辑了.project文件并删除了所有包含那些行的“jsdt”,例如。

org.eclipse.wst.jsdt.core.jsNature

再次启动eclipse后,错误消失了,我通过选择它应该处理的文件来激活JSHint,瞧,我在Problems选项卡中得到了“JSHint Problem”,它正确地没有警告我有关套接字的有效使用。在任何更长的时间。

希望这可以帮助任何人经历同样的事情!

答案 1 :(得分:0)

如上所述:

  

您使用的是什么版本的JSHint?据推测,问题是in是一个保留字,只能在ES5中以这种方式用作属性标识符。在最近的JSHint版本中,默认情况下假定ES5,并且该代码不应发出警告。