用于检查正确的Javascript语法的工具或实用程序

时间:2013-03-29 18:11:07

标签: javascript git

我知道像JSLint这样的工具,但我不是在寻找样式正确性,我需要一个工具或实用程序(最好是在Linux上运行,在ubuntu包管理器中获得奖励点),可以验证语法JavaScript文件的正确性。

我只需要知道没有语法错误。

(完全披露,将把这个检查放在一个git commit钩子中,以确保不会提交语法上不正确的JavaScript。所以它可以是一个样式工具,但需要能够产生“YES SYNTAX GOOD” “或”没有语法坏“的结果。)

2 个答案:

答案 0 :(得分: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:

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());

当使用Spidermonkey运行时,此文件将检查作为命令行参数传递的Javascript数据的语法。你最后可能不想要那份报告,认为你可能不值得玩。

答案 1 :(得分:0)

acorn.js是一个非常小的JavaScript解析器。它遇到问题时会抛出一个javascript错误。

下载橡子

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

创建一个名为acornIt.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