Доступен ли JSLint для автономного использования? - PullRequest
23 голосов
/ 07 мая 2009

Я хотел бы использовать JSLint , но я опасаюсь инструментов, которые имеют доступ к моему нефильтрованному исходному коду. Есть ли автономная версия или есть другой аналогичный инструмент, который выполняет «lint проверку ошибок» для JavaScript в автономном режиме?

Редактировать: Один с графическим интерфейсом, который показывает вам стилизованный список ошибок вместо интерфейса командной строки?

Ответы [ 17 ]

0 голосов
/ 31 марта 2015

Довольно легко воссоздать то, что Крокфорд имеет на JSLint.com. Онлайн-версия JSLint.com .js - это минимизированная конгломерация нескольких файлов, включающая некоторые издержки, которые я не совсем понимаю, например, , что ADSAFE вещи . Вместо этого давайте разберем его с простейшей оболочкой.

Создание собственной HTML-оболочки для JSLint:

Вот код веб-страницы, которая будет искать jslint.js ( последняя версия JSLint в настоящее время может быть найдена в github здесь как необработанный текст ) в том же самом каталог и запуск аналогично тому, как это делает JSLint.com.

<html>
    <head>
        <script src="jslint.js"></script>

        <script>
            function jslintalizeMe()
            {
                var i, divOut, errs, errsMsg = "";

                divOut = document.getElementById("errors");
                divOut.innerHTML = "";

                if (!JSLINT(document.forms[0].elements[0].value))
                {
                    errs = JSLINT.errors;
                    for (i=0; i < errs.length; i++)
                    {
                        err = errs[i];
                        if (null !== err)
                        {
                            if (undefined !== err.id)
                            {
                                errsMsg += "Error: " 
                                + err.code 
                                + " -- line " 
                                + err.line 
                                + " char " 
                                + err.character + "<br />"
                                + "    " 
                                + err.evidence + "<br />"
                                + "    " +
                                 err.reason + "<br /><br />\n";
                            }
                            else
                            {
                                errsMsg += err.reason;
                            }
                        }
                    }
                    divOut.innerHTML = errsMsg;
                }
            }
        </script>

    </head>

    <body>

        <form>
            <textarea rows="24" cols="80"
                placeholder="// Paste quality code here"></textarea>
            <br />
            <button onclick="jslintalizeMe();return false;">JSLint</button>
        </form>

        <div id="errors"></div>
    </body>
</html>

^ С моего старого блога .

Читатель из пословиц должен сделать графический интерфейс более липким, но теперь это делает отчет, как и сайт JSLint.

sample JSLint output from wrapper code

0 голосов
/ 15 июля 2012

Вместо загрузки с помощью браузера вы также можете напрямую загружать исходные коды. Преимущество этого заключается в том, что вы можете обновить их с помощью системы управления версиями и прочитать закомментированный исходный код.

git clone https://github.com/douglascrockford/JSLint.git

Это дает вам исходные файлы HTML и JS, но вы не можете использовать их как есть. Следуйте процессу сборки в README. В двух словах, вам нужно git clone два других JS-проекта Дугласа Крокфорда, а затем объединить (и минимизировать) некоторые JS-файлы из всех трех репозиториев git в web_jslint.js.

Я сделал это так, с YUI Compressor:

cat ../ADsafe/adsafe.js ../JSON-js/json2.js intercept.js jslint.js > /tmp/web_jslint.uncomp.js
java -jar ../../yuicompressor-2.4.7.jar /tmp/web_jslint.uncomp.js > web_jslint.js

Затем откройте jslint.html с помощью браузера.

0 голосов
/ 14 декабря 2011

Если вы уже используете гем ruby, вы можете установить гем jslint одной командой: http://rubygems.org/gems/jslint

0 голосов
/ 20 мая 2011

Если вы используете TextMate, пакет JSLintMate имеет простой интерфейс, поддерживает как JSLint, так и JSHint и позволяет настраивать пользовательские параметры различными способами (например, конфигурацией файл для проекта, глобальные параметры для всех проектов).

JSLintMate screenshots

0 голосов
/ 04 января 2011

У меня JSLint с Node.js, проверяющий код в моих сценариях развертывания, чтобы убедиться, что я случайно не отправлю код, который может сломать мой сайт. Это может сэкономить много времени на решение вопросов поддержки клиентов позже.

0 голосов
/ 07 мая 2009

Поскольку сам JSLint написан на JavaScript, вы можете запустить его в автономном режиме, скопировав HTML-файлы и ссылки на файлы JavaScript локально. Функция "Сохранить как ..." в веб-странице IE7 прекрасно работает.

0 голосов
/ 08 апреля 2010

Есть отличный виджет Yahoo:

http://ajaxian.com/archives/jslint-multi

Это открытый исходный код, если вы параноик, вы можете проверить код.

альтернативный текст http://jslint -multi-widget.googlecode.com / files / jslint_multi_v1_scrshot.png

...