【问题标题】:How to check TypeScript code for syntax errors from a command line?如何从命令行检查 TypeScript 代码中的语法错误?
【发布时间】:2017-05-23 09:53:54
【问题描述】:

我有一个生成 TypeScript 类的代码,作为构建/测试步骤,我想检查生成的文件的语法正确性。

我查看了TypeScript compiler options,但没有看到这样的选项。

  • 如何检查语法?

我正在寻找一个可以从 Maven 运行的工具,最好是一个 Maven 插件或命令行工具。

我不想要完整编译,因为在该构建步骤中无法访问引用的类型(它们位于稍后添加生成的源的不同模块中)。

【问题讨论】:

    标签: typescript syntax compilation verification syntax-checking


    【解决方案1】:

    tsc --noEmit 就是您要搜索的内容。

    不要发出编译器输出文件,如 JavaScript 源代码、源映射或声明。

    source TSDocs


    如果您想要 lint 代码以及 CI 上的检查类型,请使用 tsc --noEmit && eslint

    source Stackoverflow comment

    【讨论】:

      【解决方案2】:

      首先安装 ESLint(你需要在系统中安装 npm):

      npm i -g eslint
      

      执行 ESLint 检查文件:

      eslint file1.ts file2.ts
      

      或:

      eslint lib/**
      

      ESLint 支持许多用于更高级案例使用的选项,check the docs

      【讨论】:

        【解决方案3】:

        更新!在某些情况下,使用编译器选项来包含和检查 JavaScript 可能会让您到达您需要的位置(或者至少足够接近您可以修复您的 JavaScript 代码)......当这不能让您到达您想要的位置时,下面的答案会有所帮助。

        没有选项可以在无法验证类型信息的情况下检查您的文件 - 尽管您可以提供一个非常松散类型的定义文件以有效地忽略这些模块,例如:

        declare var myModule: any;
        

        这将禁止对myModule 进行任何类型检查,并允许您使用标准的tsc 命令来检查您的文件。

        【讨论】:

        • 我认为这是关于编译错误的。我只需要语法检查——即结构、关键字、括号等。只是 AST。这可以在没有类型信息的情况下完成。
        【解决方案4】:

        如果您只是在进行语法检查,那么您可以使用像 tslint 这样的 linter,它可以从命令行或通过许多构建工具运行

        【讨论】:

        猜你喜欢
        • 2014-03-18
        • 2021-11-10
        • 1970-01-01
        • 2020-12-02
        • 2014-03-25
        • 2021-10-14
        • 2010-10-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多