如何从命令行检查 TypeScript 代码的语法错误?
How to check TypeScript code for syntax errors from a command line?
我有一个生成 TypeScript 类 的代码,作为 build/test 步骤,我想检查生成的文件的语法正确性。
我看过 TypeScript compiler options 但没有看到这样的选项。
- 如何检查语法?
我不想要完整的编译,因为在该构建步骤中无法访问引用的类型(它们位于不同的模块中,稍后将生成的源添加到该模块中)。
更新!在某些情况下,使用编译器选项来包含和检查 JavaScript 可能会让你到达你需要的地方(或者至少足够接近你可以修复你的 JavaScript 代码)......当这不是'无法让您到达您想去的地方,以下答案会有所帮助。
没有选项可以在无法验证类型信息的情况下检查您的文件 - 尽管您可以提供非常松散类型的定义文件以有效地忽略这些模块,例如:
declare var myModule: any;
这将禁止对 myModule
进行任何类型检查,并允许您使用标准 tsc
命令来检查您的文件。
如果只是语法检查,那么您可以使用像 tslint 这样的 linter,它可以从命令行 运行 或通过许多构建工具
首先安装ESLint(你的系统需要安装npm):
npm i -g eslint
执行ESLint检查文件:
eslint file1.ts file2.ts
或:
eslint lib/**
ESLint 支持很多用于更高级案例的选项,check the docs。
tsc --noEmit
就是您要搜索的内容。
Do not emit compiler output files like JavaScript source code, source-maps or declarations.
如果您想要 lint 代码以及检查 CI 上的类型,请使用 tsc --noEmit && eslint
我有一个生成 TypeScript 类 的代码,作为 build/test 步骤,我想检查生成的文件的语法正确性。
我看过 TypeScript compiler options 但没有看到这样的选项。
- 如何检查语法?
我不想要完整的编译,因为在该构建步骤中无法访问引用的类型(它们位于不同的模块中,稍后将生成的源添加到该模块中)。
更新!在某些情况下,使用编译器选项来包含和检查 JavaScript 可能会让你到达你需要的地方(或者至少足够接近你可以修复你的 JavaScript 代码)......当这不是'无法让您到达您想去的地方,以下答案会有所帮助。
没有选项可以在无法验证类型信息的情况下检查您的文件 - 尽管您可以提供非常松散类型的定义文件以有效地忽略这些模块,例如:
declare var myModule: any;
这将禁止对 myModule
进行任何类型检查,并允许您使用标准 tsc
命令来检查您的文件。
如果只是语法检查,那么您可以使用像 tslint 这样的 linter,它可以从命令行 运行 或通过许多构建工具
首先安装ESLint(你的系统需要安装npm):
npm i -g eslint
执行ESLint检查文件:
eslint file1.ts file2.ts
或:
eslint lib/**
ESLint 支持很多用于更高级案例的选项,check the docs。
tsc --noEmit
就是您要搜索的内容。
Do not emit compiler output files like JavaScript source code, source-maps or declarations.
如果您想要 lint 代码以及检查 CI 上的类型,请使用 tsc --noEmit && eslint