使用命令对 JavaScript 进行语法检查

Syntax check for JavaScript using command

本文关键字:语法 检查 JavaScript 命令      更新时间:2023-09-26

是否有等效于从命令对 JavaScript 进行语法检查perl -c?鉴于我已经安装了 NodeJS?

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

如果你想像我们在perl(另一种脚本语言)中那样执行语法检查,你可以简单地使用node -c <js file-name>

例如,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不会显示语法错误!!

注意 - 我们甚至可以使用它来检查目录中所有文件的语法。 - node -c *.js

试试丑陋。你可以通过 npm 安装它。

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

nodejs --help

解释 -p 开关:它计算提供的代码并打印结果。 因此,使用nodejs -p < /path/to/file.js将是检查服务器上node.js代码有效性的灾难性方法。一种可能的解决方案是此 SO 线程中指示的解决方案。 有一件事不太好 - 它报告的语法错误消息不是很有帮助。 例如,它告诉你有什么问题,但没有告诉你哪里出了问题。