【问题标题】:How to compile or check syntax error in Node.js application如何编译或检查 Node.js 应用程序中的语法错误
【发布时间】:2016-07-01 21:18:52
【问题描述】:

我创建了一个 node.js 应用程序。我需要在运行 node.js 服务之前编译或检查是否出现语法错误。我需要将它集成到 jenkins 中。请指导我验证 node.js 应用程序

【问题讨论】:

    标签: javascript node.js jenkins


    【解决方案1】:

    Node.js 提供 CLI 选项 --check-c 用于在不运行给定文件的情况下检查给定文件的语法错误。在使用 Linux 或 MacOS 时,类似以下的命令有助于检查文件夹中所有明显的 javascript 文件是否包含基本工作代码:

    find -name "*.js" | xargs node -c
    

    【讨论】:

      【解决方案2】:

      查看 TypeScript。它是一种允许您使用类型自动完成并且如果您有一些语法错误则编译失败的语言。它是 JavaScript 的超集,可转译为 JavaScript。

      【讨论】:

      • 整个nodejs应用在运行前需要编译。咕噜声有帮助吗?
      • 如果你使用 TypeScript,你定义了一个 tsconfig.json 文件,它定义了你编译的文件,流行的 IDE 知道如何使用它,所以你应该没有问题。但这不是一个简单的配置,如果您想确定语法,可能需要将所有应用程序更改为 TypeScript。
      【解决方案3】:

      使用以下代码检查 node.js 应用程序中的语法错误 -

      var check = require('syntax-error')
      

      检查源代码字符串 src 是否有语法错误。或者,您可以指定将显示在输出中的文件名文件。 如果 src 有语法错误,则返回一个可以打印或字符串化的错误对象 err。如果 src 中没有语法错误,则返回 undefined。

      var err = check(src, file)
      

      【讨论】:

        【解决方案4】:

        您可以使用“节点语法错误”模块。 它可以帮助您检测和报告源代码字符串中的语法错误。

        当您键入 node src.js 时,您会收到一个友好的错误报告,说明语法错误的确切位置。这个模块让你检查语法错误并以类似友好的格式报告它们你。

        例如:

        var fs = require('fs');
        var check = require('syntax-error');
        
        var file = __dirname + '/src.js';
        var src = fs.readFileSync(file);
        
        var err = check(src, file);
        if (err) {
            console.error('ERROR DETECTED' + Array(62).join('!'));
            console.error(err);
            console.error(Array(76).join('-'));
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-07-06
          • 2014-03-25
          • 2021-07-01
          • 2016-09-18
          • 1970-01-01
          • 2017-08-17
          • 1970-01-01
          • 2020-08-19
          相关资源
          最近更新 更多