是否有相当于perl -c
从命令对 JavaScript 进行语法检查的功能?鉴于我安装了 NodeJS?
不考虑 JSLint,因为它不是真正的解析器。我认为 YUI 压缩器是可能的,但我不想在生产机器上安装 Java,所以我正在检查 Node.JS 是否已经提供了这种语法检查机制。
是否有相当于perl -c
从命令对 JavaScript 进行语法检查的功能?鉴于我安装了 NodeJS?
不考虑 JSLint,因为它不是真正的解析器。我认为 YUI 压缩器是可能的,但我不想在生产机器上安装 Java,所以我正在检查 Node.JS 是否已经提供了这种语法检查机制。
试试丑化。你可以通过 npm 安装它。
编辑:包名称已更改。它是uglify-js。
@瑞安
如果您想像我们在 perl(另一种脚本语言)中那样执行语法检查,您可以简单地使用。节点-c
例如,一个 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
希望有帮助。
经过进一步的研究,我很遗憾撤销了那次否决票。
nodejs --help
解释 -p 开关:它评估提供的代码并打印结果。因此,使用 nodejs -p < /path/to/file.js 将是检查服务器上 node.js 代码有效性的灾难性方法。一种可能的解决方案是此SO 线程中指示的解决方案。关于它的一件事不太好 - 它报告的语法错误消息并不是很有帮助。例如,它告诉你出了什么问题,但没有告诉你哪里错了。