我使用node.js和socket.io创建了一个小型聊天应用。它对我来说很好,但是我的编辑器(Eclipse)插件JsHint在我的代码中向我显示了一个错误,如下所示。
io.sockets.in(room).emit(msgtype, data);
错误:
Syntax error on token ".", Identifier expected after this token
上面的代码对我运行得很好,但编辑器显示错误。我不明白是什么问题,我有谷歌相同的错误,但仍然没有得到任何解决方案。如果有人告诉我如何在node.js中编写代码,这对我很有帮助。
感谢,
答案 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,并且该代码不应发出警告。