Есть ли автономная версия JSLint для Windows? - PullRequest
29 голосов
/ 22 октября 2008

Я хотел бы проверить свои файлы JavaScript, не заходя на JSLint веб-сайт.
Существует ли настольная версия этого инструмента для Windows?

Ответы [ 16 ]

13 голосов
/ 22 октября 2008

С http://www.jslint.com/lint.html:

Анализ выполняется скриптом работает на вашей машине. Ваш сценарий не отправляется по сети.

Он также доступен как Konfabulator. виджет . Вы можете проверить файл по перетаскивая его на виджет. Вы можете перепроверить файл дважды щелкните виджет.

Он также доступен в Команде WSH. Линия версия.

Он также доступен в Rhino Командная строка версия.

Или, поскольку JSLint - это программа JavaScript, работающая в вашем браузере - вы можете получить скрипт и запустить его локально.

9 голосов
/ 19 декабря 2008

Вы также можете использовать JavaScript Lint на вашем компьютере,
получить его отсюда
JavaScript Lint

На вышеуказанном сайте есть инструкции по его интеграции во многие редакторы / IDE. Я использую его в UltraEdit, и он прекрасно работает.

С вышеуказанного сайта

Вы можете запустить JavaScript Lint несколькими способами:

Вы можете интегрировать его в свою IDE, например Visual Studio, SciTE или любую другую IDE, поддерживающую внешние инструменты. Когда JavaScript Lint обнаруживает ошибку, ваша среда IDE переводит вас прямо в строку, содержащую ошибку.

Вы можете запустить его через Проводник Windows, который предпочитают программисты Windows.

Вы можете использовать командную строку для интеграции в вашу систему сборки, или, может быть, вы программист Linux и просто предпочитаете командную строку!

4 голосов
/ 10 октября 2011

Я знаю, что это старый, но никто не упомянул, что JSLint имеет открытый исходный код и доступен на github. https://github.com/douglascrockford/JSLint

Вы можете использовать включенную HTML-страницу или создать собственный интерфейс, используя:

var options = {
    browser : true,
    plusplus : true,
    unparam : true,
    maxlen : 120,
    indent : 4 // etc
};
if (JSLINT(myCode, options)) {
    document.write('Passed!');
} else {
    document.write('Failed! :(');
}
document.write('<ul>');
for (i = 0; i < JSLINT.errors.length; i++) {
    document.write('<li><b>' + JSLINT.errors[i].line + ':</b> ' + JSLINT.errors[i].reason + '</li>');
}
document.write('</ul>');
4 голосов
/ 18 марта 2010

Добавление к этому старому вопросу: WScript-версия jslint.js выдает сообщения об ошибках, которые очень сильно отличаются от сообщений об ошибках любого компилятора.

Если вы хотите, чтобы они были похожими, и если вы хотите иметь возможность указать имя файла .js в командной строке, а не использовать stdin для чтения файла, сделайте следующее:

Скачать jslint.js, версия WScript .

Редактировать файл jslint.js. Прокрутите вниз и найдите это:

 (function(){if(!JSLINT(WScript.StdIn.ReadAll(),.....

Заменить это (и все, что следует) следующим:

(function(){
    var filename = "stdin";
    var content= "";
    if (WScript.Arguments.length > 0){
        filename = WScript.Arguments(0);
        var fso = new ActiveXObject("Scripting.FileSystemObject");
        //var file = fso.GetFile(filename);
        var fs = fso.OpenTextFile(filename, 1);
        content = fs.ReadAll();
        fs.Close();
        fso = null;
        fs = null;
    } else {
        content = WScript.StdIn.ReadAll();
    }
    if(!JSLINT(content,{passfail:false})){
        WScript.StdErr.WriteLine("JSLINT");
        for (var i=0; i<JSLINT.errors.length; i++) {
            // sample error msg:
            //  sprintf.js(53,42) JSLINT: Use the array literal notation [].
            var e=JSLINT.errors[i];
            if (e !== null){
                var line = (typeof e.line == "undefined")?'0':e.line;
                WScript.StdErr.WriteLine(filename + '(' +line+','+e.character+') JSLINT: '+e.reason);
                WScript.StdErr.WriteLine('    ' + (e.evidence||'').replace(/^\s*(\S*(\s+\S+)*)\s*$/,"$1"));
            }
        }}}());

Это изменение делает две вещи:

  1. позволяет вам указать файл для запуска lint в командной строке, а не как stdin. Stdin все еще работает, если файл не указан вообще.
  2. выдает сообщения об ошибках в формате, который больше похож на большинство компиляторов C / C ++.

Затем в командной строке cmd.exe вы можете сделать:

cscript.exe  jslint.js   MyJavascriptModule.js 

и вы получите сообщения об ошибках, например:

JSLINT
MyJavascriptModule.js(7,17) JSLINT: 'xml' is already defined.
    var xml = new ActiveXObject("Microsoft.XMLHTTP");
MyJavascriptModule.js(10,5) JSLINT: 'xml' used out of scope.
    xml.open("GET", url, true);
MyJavascriptModule.js(11,9) JSLINT: 'xml' used out of scope.
    if (xml.overrideMimeType) {
MyJavascriptModule.js(12,9) JSLINT: 'xml' used out of scope.
    xml.overrideMimeType('text/plain; charset=x-user-defined');
MyJavascriptModule.js(14,9) JSLINT: 'xml' used out of scope.
    xml.setRequestHeader('Accept-Charset', 'x-user-defined');
MyJavascriptModule.js(17,5) JSLINT: 'xml' used out of scope.
    xml.onreadystatechange = function() {
MyJavascriptModule.js(28,5) JSLINT: 'xml' used out of scope.
    xml.send('');
MyJavascriptModule.js(34,16) JSLINT: Expected '{' and instead saw 'url'.
    if (proxy) url = proxy + '?url=' + encodeURIComponent(url);
MyJavascriptModule.js(51,16) JSLINT: Expected '{' and instead saw 'url'.
    if (proxy) url = proxy + '?url=' + encodeURIComponent(url);
3 голосов
/ 22 октября 2008

Вы можете просто сохранить страницу на жестком диске?

1 голос
/ 22 сентября 2012

Если вы используете notepad ++, для вас есть плагин JSLint.

Плагин JSLint для блокнота ++

Вы можете найти его и установить из Менеджера плагинов notepad ++.

1 голос
/ 20 февраля 2012

Для Visual Studio 2010 имеется приличное расширение .

1 голос
/ 02 января 2011

Мы нашли JSLint4Java очень хорошо. Если вы используете Ant для создания своего проекта, то задача Ant, которую он предоставляет, особенно полезна.

1 голос
/ 24 марта 2010

Надстройку Visual Studio можно найти здесь .

Это немного грубо, но выполняет свою работу.

Я только что присоединился к проекту и буду обновлять его в ближайшие несколько месяцев.

1 голос
/ 24 марта 2010

Вы можете интегрировать инструмент, созданный этим парнем, в Visual Studio.

http://jason.diamond.name/weblog/2008/08/09/verifying-javascript-with-jslint-and-visual-studio/#content

Просто отключите ненужные опции.

...