Подтвердить что ты не робот

Есть ли автономная версия JSLint для Windows?

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

4b9b3361

Ответ 1

От http://www.jslint.com/lint.html:

Анализ выполняется с помощью scriptработающих на вашем компьютере. Ваш scriptне отправляется по сети.

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

Он также доступен в WSH Command Line.

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

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

Ответ 2

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

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

Из приведенного выше сайта

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

     

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

     

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

     

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

Ответ 3

Добавление к этому старому вопросу: 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"));
            }
        }}}());

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

  • позволяет указать файл для запуска lint on, в командной строке, а не как stdin. Stdin все еще работает, если файл вообще не указан.
  • выдает сообщения об ошибках в формате, который больше похож на большинство компиляторов 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);

Ответ 4

Я знаю, что это старый, но никто не упоминал, что 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>');

Ответ 5

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

Ответ 6

Просто сохраните html-страницу на своем жестком диске, а затем загрузите файлы .js, которые он использует, в одно и то же место. Это красота JavaScript.

Ответ 7

Еще несколько ответов (не все строго для окон) в jslint CLI options

Ответ 9

В приложении Visual Studio можно найти здесь.

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

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

Ответ 10

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

Ответ 12

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

Плагин JSLint для Notepad ++

Вы можете найти его и установить из Notepad ++ Plugin Manager.

Ответ 13

В большинстве браузеров есть возможность сохранить "целую" страницу, что означает, что все внешние файлы, такие как StyleSheets, JavaScripts и т.д., также загружаются и правильно связаны в HTML-документе (обычно помещаются в папку рядом с файлом HTML). Таким образом, определенно можно использовать инструмент в автономном режиме.

Ответ 14

MiniME является альтернативой JSLint, который запускается на основе под окнами, которые могут вам пригодиться.

Полное раскрытие, я за этим: http://www.toptensoftware.com/minime, который выполняет минимизацию, обфускацию и разумный набор проверок стиля линта.

Ответ 15

JSLint Reporter работает с Node.js

Простота обновления.

  • Установите Node.js.

  • Установите jslint-reporter в: C:\jslint-reporter

  • Загрузить JSLint:

    C:\jslint-reporter>node wrapper.js --upgrade
    
  • Тест:

    C:\Temp>node C:\jslint-reporter\wrapper.js missing_semicolon.js
    missing_semicolon.js:1:10:Expected ';' and instead saw 'console'.
    missing_semicolon.js:2:1:'console' was used before it was defined.
    

JSLint Node.js пакет

Простота настройки, но вы полагаетесь на автора пакета для обновления включенного JSLint:

  • Установите Node.js.

  • Используя npm, менеджер пакетов Node.js, установите JSLint:

    C:\>npm -g install jslint
    
  • Тест:

    C:\Temp>jslint missing_semicolon.js
    
    missing_semicolon.js
     #1 Expected ';' and instead saw 'console'.
        var x = 5 // Line 1, Pos 10
    

Другие решения

Чтобы запустить JSLint, вы также можете использовать Rhino или любую другую реализацию JavaScript, которая работает на Windows, конечно.

Ответ 16

CSE HTML Validator включает JSLint и работает на компьютерах с Windows Desktop.