2013-03-29 3 views
4

나는 JSLint와 같은 도구를 알고 있지만 스타일 정확성을 찾고 있지 않습니다. 도구 또는 유틸리티가 필요합니다. (Linux에서 실행되는 것이 좋으며 우분투에있는 보너스 포인트가 바람직합니다. 패키지 관리자)를 사용하여 JavaScript 파일의 구문 정확성을 확인할 수 있습니다.도구 또는 유틸리티가 올바른 자바 스크립트 구문을 확인합니다

구문 오류가 없음을 알아야합니다.

(완전 공개,이 체크를 git commit 후크에 넣어 구문 적으로 잘못된 JavaScript가 커밋되지 않도록 할 수 있습니다. 따라서 스타일 도구 일 수는 있지만 "YES SYNTAX GOOD "또는"NO BOND BAD "결과가 표시됩니다.)

+0

내가 사용한 적이 실행 다음 내용을 acornIt.js라는 주자 만들기 그것들을 끝내지 만 불량 js 파일에 적용 할 때 minifier는 보통 오류를 반환합니다. 나는 [Google 클로저 컴파일러] (https://developers.google.com/closure/compiler/)가이를 수행하며 명령 행에서 호출 할 수 있음을 알고 있습니다. –

답변

5

JSLint가 구문을 검증하지 않는다고 생각하지만 실제로 원하는대로 수행한다고 생각합니다. 이제, 보너스 포인트! :-) 다음은 JSLint를 사용함에도 불구하고 원하는 모든 것을해야하는 간단한 예제입니다.

sudo apt-get install spidermonkey-bin 
wget http://www.jslint.com/fulljslint.js 
mv fulljslint.js /home/admin/bin/js 

후 작성 /home/admin/bin/js/runjslint.js : SpiderMonkey를을 사용하여 실행할 때

load('/home/admin/bin/js/fulljslint.js'); 
var body = arguments[0]; 
var result = JSLINT(body); 
if (result) { 
print('YES SYNTAX GOOD'); 
} else { 
print('NO SYNTAX BAD'); 
} 
print(JSLINT.report()); 

이 파일, 명령 줄 인수로 전달 된 자바 스크립트 데이터의 구문을 확인합니다 . 결국 보고서를 원하지 않을 수도 있습니다.하지만 그 보고서를 가지고 놀 수있는 가치가 있다고 생각할 수도 있습니다.

+0

나는 문자 그대로를 의미하지는 않았다. 아무리 좋은 표현이 아니었지만 어쨌든 재미 있었다. P – coiax

+0

대답이 더 완성되었다고 생각하면, 옆에 작은 녹색 체크 표시가 나타날 가능성이 높다. – bubba

0

acorn.js은 정말 작은 자바 스크립트 파서입니다. 그것은 문제가 발생하면 자바 스크립트 오류가 발생합니다.

다운로드 도토리

curl https://raw.github.com/marijnh/acorn/master/acorn.js > acorn.js 

var acorn = require('./acorn'); 
var fs = require('fs'); 
var fileName = process.argv[2]; 
var contents = fs.readFileSync(fileName); 

try { 
    acorn.parse(contents); 
    console.log("YES SYNTAX GOOD"); 
} catch (e) { 
    console.log("NO SYNTAX BAD"); 
    console.log(e); // See where the error occured 
} 

를 (설치 될 노드가 필요합니다) 그리고 그것은

node acornIt.js someTestFile.js 
관련 문제