我遇到过JSHint,但希望它能验证node.js语法,但它没有,例如,如果我这样做:
var server = http.createServerfunctionThatDoesNotExists(function(request, response) {....
即使没有名为createServerfunctionThatDoesNotExists
的函数,测试也会通过JSHint和node.js选项缺少什么?
答案 0 :(得分:1)
我认为它并没有深入研究CommonJS模块,因为它们几乎可以包含所有内容。
所以即使你require
'http
,它也可能是你自己的任何界面模块。
'假设节点'意味着它可以容忍全局变量,例如module
或exports
答案 1 :(得分:1)
JSHint基本上是JSLint,更适用于语法/样式/ JS-nonos而不是执行JS的深度扫描产品。完全审查JS代码(或任何动态语言,实际上,取决于您对动态的定义)几乎需要运行它,因为方法之类的东西可以在任何地方定义,包括在运行时。
JSHint 更进一步,允许定义某些 JS库使用的高级构造。