是否有来自命令的JavaScript的perl -c
语法检查?鉴于我安装了NodeJS?
不认为JSLint不是真正的解析器。我认为YUI压缩器是可能的,但我不想在生产机器上安装Java,所以我正在检查Node.JS是否已经提供了这种语法检查机制。
答案 0 :(得分:8)
尝试 uglify 。你可以通过npm安装它。
编辑:包名已更改。它是 uglify-js 。
答案 1 :(得分:3)
@Ryan
如果你想像perl(另一种脚本语言)那样执行语法检查,你可以简单地使用。 node -c
e.g。一个js文件作为test.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
将不显示语法错误!!
注意 - 我们甚至可以使用它来检查目录中所有文件的语法。 - node -c *.js
希望有所帮助。
答案 2 :(得分:2)
经过进一步研究后,我很遗憾没有取消投票。
nodejs --help
解释-p开关:它评估提供的代码并打印结果。所以使用nodejs -p< /path/to/file.js将是一种灾难性的方法来检查服务器上node.js代码的有效性。一种可能的解决方案是在this SO线程中指示的解决方案。有一点不太好 - 它报告的语法错误消息并不是非常有用。例如,它告诉你出了问题,但没有告诉你哪里它是错误的。