문제

사용하고 싶습니다 jslint, 그러나 필터링되지 않은 소스 코드에 액세스 할 수있는 도구가 조심합니다. 오프라인 버전이 있습니까?lint 오류 확인 "JavaScript 오프라인에 대해?

편집하다: GUI가 있고 명령 줄 인터페이스 대신 스타일의 오류 목록을 보여 주시겠습니까?

도움이 되었습니까?

해결책

당신이 좋아한다면 JSLINT 웹 인터페이스, 넌 할 수있어 File > Save Page As... 그리고 Save as type: Web Page, complete (Firefox에서는 Internet Explorer에서 수행하는 것이 약간 다를 수 있습니다) 로컬 폴더.

나는 이름을 변경합니다 jslint.htm 공간이없는 8.3 미만을 얻으려면.

로컬로 저장했을 때 작동하는 것 같습니다.

세개:

  1. 저작권을 그대로두고 그의 코드를 수정하지 않지만 기술적으로 내 웹 브라우저는 이미 현지 HD에서 그의 사이트 사본을 만들었으므로 내가 내에 있는지 확실하지 않습니다. 위반 여부에 관계없이 저는 변호사가 아니므로 멈추라는 편지를받을 때까지 계속 할 것입니다.
  2. 페이지는 어떻게 든 코드를 인터넷으로 보낼 수 있지만 가능할 가능성은 매우 원격입니다. 즉, WSH 또는 Rhino 버전은 아마도 로컬로 저장된 웹 페이지의 버전보다 인터넷에 쉽게 제출할 수 있습니다 (편집증 인 경우).
  3. Douglas가하는 버그 수정 또는 업데이트에 뒤쳐집니다. 그러나 정기적으로 업데이트하지 않으면 WSH 또는 코뿔소 버전에도 동일한 것이 적용됩니다.

다른 팁

JSLINT는 WSH 또는 Rhino와 함께 오프라인으로 실행할 수 있습니다.

http://www.jslint.com/lint.html#try

편집하다:이 질문이 요청 된 지 2 년 동안 JSLINT는 Rhino와 WSH에 대한 지원을 중단했습니다. 코드를 일렬에 빠뜨리는 사람이 누구나 체크 아웃하도록 권장합니다. Jshint. 그것은 원본보다 유연성이 뛰어나고 노드, 코뿔소 및 WSH (물론 브라우저 외에)를 지원하는 JSLINT의 포크입니다.

예:

기본적으로 실행하려면 내장 된 JavaScript 컴파일러 만 있으면됩니다. jslint.js.

또 다른 JS Linter가 있습니다 자바 스크립트 보풀, 온라인 및 다운로드 가능한 명령 줄 버전이 모두 있습니다. 다운로드 가능한 버전을 항상 사용합니다. 나는 그것을 고리의 일부로 SVN에 통합하는 것에 대해 생각하고 있습니다. 나는 더 많은 옵션이 있고 더 많은 것을 감지하는 것처럼 보이기 때문에 JSLINT보다 더 좋아합니다. 특정 식별자를 사전 정의 된 것으로 처리하여 툴킷 등에 대해 정의되지 않은 변수의 사용을 확인할 수 있도록 구성 할 수 있습니다.

자바 환경에 있다면 내 jslint4java 도구 유용한 도구. 명령 줄 변형으로 제공되며 개미 스크립트에 통합 될 수도 있습니다. 내가 그것에 대해 나쁘게 빨기 때문에 GUI는 없습니다. :-)

Firebug 용 Yslow 이 기능이 내장되어 있습니다

TextMate를 사용하는 경우 JSLINT를 실행하고 그래픽 창에 출력을 표시하는 번들을 만들었습니다. 모두 독립적입니다. 사용하기 위해 다른 설치가 필요하지 않습니다.

github에서 jslint.tmbundle을 참조하십시오

명령 줄에서 jslint를 실행하는 도구가 있습니다. 거미 원숭이 쉘 또는 코뿔소. 플러그인도 포함되어 있습니다 정력 이를 통해 버튼을 누르면 파일을 편집하는 동안 문제 라인을 자동으로 강조 표시 할 수 있습니다.

http://github.com/hallettj/jslint.vim/

시도해보십시오 Google 클로저 Linter. JSLINT보다 더 많은 기능이 있습니다.

Cory Bennet이 있습니다 명령 줄 JSLINT에 대한 좋은 게시물. 당신의 설정의 대부분은 얻을 것입니다 거미 원숭이 일하고 있는. Linux를 실행하는 경우 나쁘지 않습니다. Windows를 사용하는 경우 더 어렵습니다 Cygwin. 그리고 여기에 일부가 있습니다 Rhino Run-Times와의 더 많은 토론과 비교.

업데이트 : 2013.11- 명령 라인에서 node.js를 사용하고 있다면 (그리고 왜 그렇지 않습니까?) 둘 다 실행할 수 있습니다. jslint 그리고 새로운 eslint. [NB : Eshint에 버그 보고서와 테스트 코드를 기여했습니다.]이 두 가지 모두입니다. 방법 위의 것보다 설정하기가 더 쉽습니다 ....

JSLINT 자체는 JavaScript로 작성되었으므로 HTML을 복사하고 JavaScript 파일을 로컬로 복사하여 오프라인으로 실행할 수 있습니다. IE7의 "Save As ..." "웹 페이지, 완전한"기능은 이것이 제대로 작동합니다.

위대한 Yahoo 위젯이 있습니다.

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

오픈 소스입니다. 편집증이라면 코드를 감사 할 수 있습니다.

대체 텍스트 http://jslint-multi-widget.googlecode.com/files/jslint_multi_v1_scrshot.png

나는 가지고있다 node.js가있는 jslint가 코드를 확인합니다 내 배포 스크립트에서 실수로 내 사이트를 끊을 수있는 코드를 푸시하지 않도록합니다. 나중에 고객 지원 문제를 처리하는 데 많은 시간을 절약 할 수 있습니다.

TextMate를 사용하는 경우 jslintmate 번들에는 간단한 인터페이스가 있으며 JSLINT와 Jshint, 그리고 다양한 방식으로 사용자 정의 옵션을 설정할 수 있습니다 (예 : 프로젝트 당 구성 파일, 모든 프로젝트의 글로벌 옵션).

JSLintMate screenshots

이미 Ruby Gems를 사용하는 경우 하나의 명령으로 JSLINT GEM을 설치할 수 있습니다.http://rubygems.org/gems/jslint

브라우저로 다운로드하는 대신 소스를 직접 다운로드 할 수도 있습니다. 여기에는 버전 작성 시스템으로 업데이트하고 주석은 소스 코드를 읽을 수 있다는 이점이 있습니다.

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

이것은 당신에게 HTML 및 JS 소스 파일을 제공하지만 그대로 사용할 수는 없습니다. 빌드 프로세스를 따르십시오 README. 간단히 말해서, 당신은 필요합니다 git clone Douglas Crockford의 다른 두 JS 프로젝트, 그리고 3 개의 git 리포지토리에서 일부 JS 파일을 연결 (및 최소화) web_jslint.js.

나는 Yui 압축기와 함께 이것처럼했다 :

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 브라우저와 함께.

Crockford가 jslint.com에서 가지고있는 것을 재현하는 것은 매우 쉽습니다. jslint.com의 온라인 버전 .js 내가 이해하지 못하는 오버 헤드가 포함 된 몇 가지 파일의 미니lods는 것입니다. 저것 ADSAFE 물건. 대신 가장 간단한 케이스 래퍼로 제거해 봅시다.

JSLINT 용 HTML 래퍼 구축 :

다음은 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>

^ 내 오래된 블로그 게시물.

GUI를 더 끈적 거리는 것은 속담의 독자에게 달려 있지만,이 보고서와 JSLINT 사이트는 이제보고합니다.

sample JSLint output from wrapper code

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top