如何在带有 socket.io 的 meanjs 项目中配置 jshint?
How configure jshint in a meanjs project with socket.io?
我完全遵循了that tutorial(为了测试,我显然用localhost:3000替换了vexxhost域名)。
并且在调用 grunt 时出现错误('io' 未定义)但服务器启动时没有任何其他抱怨。
如果我正确理解了这个问题,jshint 扫描整个项目来验证代码,他发现引用了一个未定义的变量!但是 'io' 是在整个应用程序启动时定义的(因为脚本已加载)。事实上,该错误与其说是错误,不如说是警告
如果我是对的(如果我不正确,我希望这里的某些人会纠正我),这让我们想到了我的问题:如何重构代码或配置 jshint 以避免该警告?
如果可能的话,我希望明确引用 'io'。
提前谢谢大家。
编辑
我在该教程中的结果可在 github 上获得 here。有问题的文件是 public/modules/core/services/socket.js
.
有两种方法可以配置 JSHint 来更正该错误:
如果您在代码的多个位置调用 io
变量。 JSHint 可在 .jshintrc
文件中配置,有一个全局部分可以在其中添加 "io": true
。通过该修改,JSHint 应将 io 视为全局变量。
或者如果只调用一次io
变量,可以在调用的文件中直接添加注释/* global io: true */
我完全遵循了that tutorial(为了测试,我显然用localhost:3000替换了vexxhost域名)。
并且在调用 grunt 时出现错误('io' 未定义)但服务器启动时没有任何其他抱怨。
如果我正确理解了这个问题,jshint 扫描整个项目来验证代码,他发现引用了一个未定义的变量!但是 'io' 是在整个应用程序启动时定义的(因为脚本已加载)。事实上,该错误与其说是错误,不如说是警告
如果我是对的(如果我不正确,我希望这里的某些人会纠正我),这让我们想到了我的问题:如何重构代码或配置 jshint 以避免该警告?
如果可能的话,我希望明确引用 'io'。
提前谢谢大家。
编辑
我在该教程中的结果可在 github 上获得 here。有问题的文件是 public/modules/core/services/socket.js
.
有两种方法可以配置 JSHint 来更正该错误:
如果您在代码的多个位置调用
io
变量。 JSHint 可在.jshintrc
文件中配置,有一个全局部分可以在其中添加"io": true
。通过该修改,JSHint 应将 io 视为全局变量。或者如果只调用一次
io
变量,可以在调用的文件中直接添加注释/* global io: true */