使用命令检查JavaScript的语法

使用命令检查JavaScript的语法,javascript,node.js,Javascript,Node.js,是否有相当于perl-c的JavaScript命令语法检查?既然我已经安装了NodeJS JSLint不被认为是真正的解析器。我认为YUI compressor是可能的,但我不想在生产机器上安装Java,所以我正在检查Node.JS是否已经提供了这种语法检查机制。试试uglify。您可以通过npm安装它 编辑:包名称已更改。这是丑陋的js经过进一步的研究,我很遗憾取消了那次否决票 nodejs --help 解释-p开关:它计算提供的代码并打印结果。因此,使用nodejs-p

是否有相当于
perl-c
的JavaScript命令语法检查?既然我已经安装了NodeJS


JSLint不被认为是真正的解析器。我认为YUI compressor是可能的,但我不想在生产机器上安装Java,所以我正在检查Node.JS是否已经提供了这种语法检查机制。

试试uglify。您可以通过npm安装它


编辑:包名称已更改。这是丑陋的js

经过进一步的研究,我很遗憾取消了那次否决票

nodejs --help
解释-p开关:它计算提供的代码并打印结果。因此,使用nodejs-p@Ryan

如果您想像我们在perl(另一种脚本语言)中那样执行语法检查,您可以简单地使用。 节点-c

e、 g.test.js的js文件-

let x = 30
if ( x == 30 ) {
  console.log("hello");
else {
  console.log( "world");
}
现在输入
node-c test.js
它会告诉你的

test.js:5
 else {
 ^^^^
SyntaxError: Unexpected token else
    at startup (bootstrap_node.js:144:11)
    at bootstrap_node.js:509:3
现在,在将语法问题修复为

let x = 30
if ( x == 30 ) {
  console.log("hello");
} else {
  console.log( "world");
}
检查语法-
node-c test.js
不会显示语法错误

注意-我们甚至可以使用它检查目录中所有文件的语法。-<代码>节点-c*.js


希望这能有所帮助。

试试丑陋。您可以通过npm安装它。只安装java或任何东西?如果只有java可以检查,那么在将项目推向生产之前,您不应该检查语法吗?甚至在提交之前?@AaditMShah丑陋的工作如预期,请将此作为答案,以便我可以关闭它。这可能已经改变。我得到这个错误:npm ERR!404“丑陋”不在npm注册表中。老实说,我认为你是对的。我认为,当我发布我的答案时,该行为对于我正在运行的节点版本是正确的,这是可能的。目前我使用
js-C
对js文件进行语法检查,这已经有一段时间了。我已经删除了我的答案。不幸的是,这使得这个答案没有多大意义。很抱歉。@pgl节点-C?你能解释一下吗?这是用于服务器端JS语法检查的吗?这是V8js的一个命令行选项吗?我最初没有意识到这一点,但我使用的
js
似乎不是节点本身的一部分。这是在CentOS上,并且
yum提供/usr/bin/js
将此软件包列为源代码:
js-1.70-12.el6.x86_64
。(在Ubuntu上,
/usr/bin/js
只是
/usr/bin/node
的一个符号链接)而且,这是
js的输出--version
JavaScript-C 1.7.0 2007-10-03
。正是我需要的。正是我需要的!起初我试过橡子,但那对我不起作用。谢谢