Является ли JSHint средством проверки синтаксиса Node.js? - PullRequest
0 голосов
/ 07 октября 2011

Я сталкивался с JSHint, но надеялся, что он подтвердит синтаксис node.js, но это не так, например, если я это сделаю:

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

Тест проходит, хотя функции нетс именем createServerfunctionThatDoesNotExists

Чего мне не хватает в JSHint и опции node.js?

Ответы [ 2 ]

1 голос
/ 07 октября 2011

JSHint - это в основном JSLint и больше подходит для синтаксиса / стиля / JS-nonos, а не для продукта глубокого сканирования, который выполняет ваш JS. Для полной проверки JS-кода (или любого другого динамического языка, в действительности, в зависимости от вашего определения динамического) в значительной степени требуется его запуск, поскольку такие вещи, как методы, могут быть определены более или менее где угодно, в том числе во время выполнения.

JSHint делает немного дальше и позволяет определить высокоуровневые конструкции, используемые некоторыми библиотеками JS.

1 голос
/ 07 октября 2011

Я думаю, что он не копается в модулях CommonJS, поскольку они могут содержать практически все.

Так что даже если вы require 'http, это может быть ваш собственный модуль с любым интерфейсом.

«Предполагаемый узел» означает, что он допускает глобальные переменные, такие как module или exports

...