次の構文を使用して、JavaScript コードで JSLint を実行できます。
var code = "var a = 1 + 2;";
JSLINT(code);
また、質問で述べたように、構文ツリーを印刷できます。
あなたの場合、JavaScript ファイルから JavaScript ソースを読み取る必要があります。AJAX 呼び出しを実行して、JavaScript ファイルのソース コードを変数に読み込むことができます。次に、上記のようにその変数を渡して JSLINT を呼び出します。jQueryを使ったサンプルは以下のようになります。
$(function() {
// Include jslint.js
$('<script src="http://localhost/yourapp/jslint.js">').appendTo("head");
// Read JavaScript file contents into 'code'
$.get('http://localhost/yourapp/somescript.js', function(code) {
// Run JSLINT over code
JSLINT(code);
// Print the parse tree
console.log(JSON.stringify(JSLINT.tree, [
'string', 'arity', 'name', 'first',
'second', 'third', 'block', 'else'
], 4));
});
});
達成しようとしていることに応じて、スタンドアロンの JavaScript コンソール (NodeJS など) は、ブラウザー コンソールよりも優れた代替手段になります。JSLint用のNodeパッケージが存在すると思います。ただし、手動で含めたい場合は、以下のように簡単に実行できます。
まず、jslint.js の最後に以下の行を追加します。
exports.JSLINT = JSLINT;
次に、たとえば mycode.js にコードを記述します。
var fs = require("fs");
var jslint = require("./jslint.js");
fs.readFile("./test.js", function(err, code) {
var source = code.toString('ascii');
jslint.JSLINT(source);
console.log(JSON.stringify(jslint.JSLINT.tree, [
'string', 'arity', 'name', 'first',
'second', 'third', 'block', 'else'
], 4));
},"text");
次に、コンソールからコードを次のように実行します。
node mycode.js