0

我遇到过 JSHint,但希望它能验证 node.js 语法,但它不会,例如,如果我这样做:

var server = http.createServerfunctionThatDoesNotExists(function(request, response) {....

即使没有名为 createServerfunctionThatDoesNotExists 的函数,测试也会通过

JSHint 和 node.js 选项缺少什么?

4

2 回答 2

1

我认为它没有深入研究 CommonJS 模块,因为它们几乎可以包含所有内容。

因此,即使您正在使用它,它也可能是您自己requirehttp具有任何接口的模块。

“假设节点”意味着它可以容忍全局变量,例如moduleexports

于 2011-10-07T14:10:50.990 回答
1

JSHint 基本上是 JSLint,更多的是用于语法/样式/JS-nonos,而不是执行 JS 的深度扫描产品。完全审查 JS 代码(或任何动态语言,真的,取决于你对动态的定义)几乎需要运行它,因为方法之类的东西可以或多或少地在任何地方定义,包括在运行时。

JSHint确实更进一步,允许定义一些JS 库使用的高级构造。

于 2011-10-07T14:15:56.853 回答