JSLINT가 오프라인으로 사용할 수 있습니까?
-
08-07-2019 - |
문제
사용하고 싶습니다 jslint, 그러나 필터링되지 않은 소스 코드에 액세스 할 수있는 도구가 조심합니다. 오프라인 버전이 있습니까?lint
오류 확인 "JavaScript 오프라인에 대해?
편집하다: GUI가 있고 명령 줄 인터페이스 대신 스타일의 오류 목록을 보여 주시겠습니까?
해결책
당신이 좋아한다면 JSLINT 웹 인터페이스, 넌 할 수있어 File
> Save Page As...
그리고 Save as type:
Web Page, complete
(Firefox에서는 Internet Explorer에서 수행하는 것이 약간 다를 수 있습니다) 로컬 폴더.
나는 이름을 변경합니다 jslint.htm
공간이없는 8.3 미만을 얻으려면.
로컬로 저장했을 때 작동하는 것 같습니다.
세개:
- 저작권을 그대로두고 그의 코드를 수정하지 않지만 기술적으로 내 웹 브라우저는 이미 현지 HD에서 그의 사이트 사본을 만들었으므로 내가 내에 있는지 확실하지 않습니다. 위반 여부에 관계없이 저는 변호사가 아니므로 멈추라는 편지를받을 때까지 계속 할 것입니다.
- 페이지는 어떻게 든 코드를 인터넷으로 보낼 수 있지만 가능할 가능성은 매우 원격입니다. 즉, WSH 또는 Rhino 버전은 아마도 로컬로 저장된 웹 페이지의 버전보다 인터넷에 쉽게 제출할 수 있습니다 (편집증 인 경우).
- Douglas가하는 버그 수정 또는 업데이트에 뒤쳐집니다. 그러나 정기적으로 업데이트하지 않으면 WSH 또는 코뿔소 버전에도 동일한 것이 적용됩니다.
다른 팁
JSLINT는 WSH 또는 Rhino와 함께 오프라인으로 실행할 수 있습니다.
http://www.jslint.com/lint.html#try
편집하다:이 질문이 요청 된 지 2 년 동안 JSLINT는 Rhino와 WSH에 대한 지원을 중단했습니다. 코드를 일렬에 빠뜨리는 사람이 누구나 체크 아웃하도록 권장합니다. Jshint. 그것은 원본보다 유연성이 뛰어나고 노드, 코뿔소 및 WSH (물론 브라우저 외에)를 지원하는 JSLINT의 포크입니다.
예:
- Windows에서 사용합니다 jslint.js + wsh.
- Rhino를 실행할 수있는 시스템에서 사용하십시오 jslint.js + Rhino.
기본적으로 실행하려면 내장 된 JavaScript 컴파일러 만 있으면됩니다. jslint.js
.
또 다른 JS Linter가 있습니다 자바 스크립트 보풀, 온라인 및 다운로드 가능한 명령 줄 버전이 모두 있습니다. 다운로드 가능한 버전을 항상 사용합니다. 나는 그것을 고리의 일부로 SVN에 통합하는 것에 대해 생각하고 있습니다. 나는 더 많은 옵션이 있고 더 많은 것을 감지하는 것처럼 보이기 때문에 JSLINT보다 더 좋아합니다. 특정 식별자를 사전 정의 된 것으로 처리하여 툴킷 등에 대해 정의되지 않은 변수의 사용을 확인할 수 있도록 구성 할 수 있습니다.
자바 환경에 있다면 내 jslint4java 도구 유용한 도구. 명령 줄 변형으로 제공되며 개미 스크립트에 통합 될 수도 있습니다. 내가 그것에 대해 나쁘게 빨기 때문에 GUI는 없습니다. :-)
Firebug 용 Yslow 이 기능이 내장되어 있습니다
TextMate를 사용하는 경우 JSLINT를 실행하고 그래픽 창에 출력을 표시하는 번들을 만들었습니다. 모두 독립적입니다. 사용하기 위해 다른 설치가 필요하지 않습니다.
시도해보십시오 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, 그리고 다양한 방식으로 사용자 정의 옵션을 설정할 수 있습니다 (예 : 프로젝트 당 구성 파일, 모든 프로젝트의 글로벌 옵션).
이미 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 사이트는 이제보고합니다.