我知道 JSLint 是 JavaScript 开发的一个很棒的工具,但我对此的整体理解存在一些黑暗点。
如何在我的开发环境中使用它?换句话说,您如何以及何时针对您的代码运行 JSLint?我已经看到了 Aptana 集成,但似乎它没有考虑以下语句:
/* jslint nomen: false */
如何在客户端开发环境中正确工作?我希望 JSLint 在解析包括“console”、“$”或“JQuery”等对象的调用时感觉良好。
我读过很多建议在 jslint 上复制粘贴以正确睡眠的声明,因此任何包含配置在线 JSLint 表单的答案都将被视为无关紧要。
我很抱歉写下这个答案,这并不是一个真正的答案。我发现的最好的解决方案是使用 JSHint,它与 JSLint 并发,并具有一些不错的额外功能:
通过 NPM 使用类似命令(也适用于 JSLint)可以轻松安装,需要 NPM :
npm install -g jshint
对大量文件执行很容易(不适用于 JSLint):
jshint mycodedirectory
可以通过 --config 选项进行配置,配置文件如下所示:
{
"curly":true,
"eqeqeq": true,
"immed": true,
"bitwise": true,
"newcap": true,
"noempty": true,
"unused": true,
"camelcase":true,
"undef": true,
"strict": true,
"trailing": true,
"maxparams": 7,
"maxdepth": 5,
"maxstatements": 50,
"maxcomplexity": 13
}
该解决方案适用于浏览器和服务器代码,它独立于 IDE 和操作系统,可以轻松集成到持续集成过程中。
有人提出了一种解决方案,可以使用 node.js 在您的项目上自动运行它:
我在 Emacs/WinXP 上使用(稍作修改的)JSLINT for WSH。当我打字时它会突出显示有问题的代码:
这不仅对于强制执行配置的编码风格有很大帮助,而且对于在执行代码之前发现许多 JavaScript 语法错误也有很大帮助。
它确实尊重诸如
/* jslint nomen: false */
之类的陈述。当您询问有关在浏览器环境中使用 jQuery 运行的 linting 代码时,只需使用标准 JSLint 选项即可:
/*jslint browser: true */
/*global $ */
请务必将包含的 JSLint 代码替换为最新版本。