jshint 作为一个独立的产品似乎很适合这个:
我只会介绍第 3 个解决方案的技术难题,因为我最终也设法让它工作了......
剧透警报:尚未检测到“alert()”...解决方案 nb 2 将对此有所帮助...
您首先需要获取这个特定的 jshint 版本:https ://github.com/jshint/jshint/releases/tag/2.4.4
v2.7.0 之后的任何东西现在都将失败,我个人放弃了密集修补原型和命名空间......从 v2.4.4 到 v2.6.3 的版本无需修改即可工作,但功能有限。
在发行说明中,专门写了“对 Nashorn JavaScript 引擎的支持”正在处理此版本。我正在使用 JDK8 nashorn 1.8.0_45 进行此测试。
下一步是从这个版本中提取这个单个文件jshint-2.4.4/dist/jshint-rhino.js
现在您需要在脚本模式下运行 nashorn/jjs,并且您需要具体说明要验证的单个文件。在解决方案 2(基于 nodejs)中,您可以在文件夹下执行多个文件或完整的层次结构......
创建一个简单的文件file.js:
function(){}
现在运行以下命令(请注意--的存在):
jjs -脚本 jshint-rhino.js -- file.js
这将为您提供以下输出:
Missing name in function declaration. (file.js:1:9)
> function(){}
因此,这涵盖了如何使用 nashorn 以简单的方式运行 jshint ......使用第三种解决方案,至少您可以找到缺少的分号和几个典型的错误。但这不是灵丹妙药,对我来说也不是真正的选择。
我个人的偏好是只坚持解决方案 2。如果你有可能在你的开发平台上安装 nodejs 或 iojs,去获取https://www.npmjs.com/package/jshint。除了第三种解决方案之外,您不仅可以做更多的事情,还可以按照http://jshint.com/docs/中的说明配置 jshintrc 文件