用于查找基本Javascript语法错误的命令行工具?

用于查找基本Javascript语法错误的命令行工具?,javascript,debugging,console,Javascript,Debugging,Console,是否有任何命令行Linux工具可以捕获我的Javascript文件中的基本语法错误和编译时错误,即使这些Javascript文件是为在web浏览器中使用而编写的 我通常在用Ruby或Perl编写服务器端代码的同时编写Javascript。如果我可以像测试服务器端Ruby和Perl一样,在命令行上(通常是在emacs中)部分测试客户端Javascript,这将为我节省大量时间。我不希望在服务器上捕获运行时JavaScript错误,只是一些基本的东西,如输入错误的变量名或某个地方的额外括号或失控的字

是否有任何命令行Linux工具可以捕获我的Javascript文件中的基本语法错误和编译时错误,即使这些Javascript文件是为在web浏览器中使用而编写的

我通常在用Ruby或Perl编写服务器端代码的同时编写Javascript。如果我可以像测试服务器端Ruby和Perl一样,在命令行上(通常是在emacs中)部分测试客户端Javascript,这将为我节省大量时间。我不希望在服务器上捕获运行时JavaScript错误,只是一些基本的东西,如输入错误的变量名或某个地方的额外括号或失控的字符串,这些东西在实际尝试执行代码之前可以找到

我现在测试/调试Javascript的方法是“在浏览器中访问web应用程序;检查Firebug或其他控制台;返回emacs修复错误;重复。”对于更复杂类型的错误(例如,涉及用户和网络交互),这样做是不可避免的但是,在不加载浏览器的情况下,可以在命令行上更快地捕获和处理各种各样的语法错误


我已经研究了一些服务器端平台,比如node.js,但它们似乎都倾向于编写和执行服务器端代码(因此我的代码中所有特定于客户端的部分可能会让它变得很糟糕)。我还为javascript REPL找到了一个emacs模式,但它似乎并不是设计用来进行基本编译检查的——它基本上是通过外部图形浏览器加载整个页面,并让您可以使用它,这正是我想要避免的。

像YUICompressor这样的东西也能有效地进行语法检查。

这不是对你问题的直接回答,因为它是一个GUI工具,但我非常喜欢它。它使用SpiderMonkey在后台编译代码,并在键入时为语法错误提供红色曲线。(它对HTML也有同样的作用。)它还试图为JS提供intellisense,但它是命中或未命中的。它工作的时候很好

因为我可能还没有说服您改变您的开发环境,所以让我们直接回答您的问题。为什么不使用这个引擎来组合一个命令行应用程序来完成你想要的功能呢?看起来像。您甚至不必担心这样一个事实:您保证会得到运行时异常(您的环境中不会有DOM对象)——您不必实际执行脚本。只要打电话检查一下是否成功。(当然,然后销毁
JSScript
对象。)


或者,如果你很懒,你可以试试,这是一个执行JavaScript的命令行Java工具。

我发现JSHint,+它的vim插件非常有用。vim的重量很轻,并且仍然能够跟踪javascript的语法错误。JSHint还可以用作命令行工具

chrome中带有控制台的Javascript调试器: 具有javascript调试器的可以查找javascript错误:

在Chrome中单击工具->JavaScript控制台:

var error(){

}

这是使用以下代码检查JavaScript页面:

var error(){

}
它告诉我它有什么问题,出乎意料的'('

告诉我我不能在javascript文件的第14行定义这样的函数

如果单击错误旁边的链接,它将带您进入并高亮显示包含错误/警告的行