我有一个生成 TypeScript 类的代码,作为构建/测试步骤,我想检查生成的文件的语法正确性。
我查看了TypeScript 编译器选项,但没有看到这样的选项。
- 如何检查语法?
我不想要完整的编译,因为在该构建步骤中无法访问引用的类型(它们位于稍后添加生成的源的不同模块中)。
我有一个生成 TypeScript 类的代码,作为构建/测试步骤,我想检查生成的文件的语法正确性。
我查看了TypeScript 编译器选项,但没有看到这样的选项。
我不想要完整的编译,因为在该构建步骤中无法访问引用的类型(它们位于稍后添加生成的源的不同模块中)。
这tsc --noEmit
就是您要搜索的内容。
不要发出编译器输出文件,如 JavaScript 源代码、源映射或声明。
如果您想要 lint 代码以及 CI 使用的检查类型tsc --noEmit && eslint
如果您只是在进行语法检查,那么您可以使用像 tslint 这样的linter,它可以从命令行或通过许多构建工具运行
首先安装 ESLint(您需要在系统中安装 npm):
npm i -g eslint
执行 ESLint 检查文件:
eslint file1.ts file2.ts
或者:
eslint lib/**
ESLint 支持许多用于更高级案例使用的选项,请查看文档。
更新!在某些情况下,使用编译器选项来包含和检查 JavaScript 可能会让你到达你需要的地方(或者至少足够接近你可以修复你的 JavaScript 代码)......当这不能让你到达你想要的地方时,下面的答案会有所帮助。
没有选项可以在无法验证类型信息的情况下检查您的文件 - 尽管您可以提供非常松散类型的定义文件以有效地忽略这些模块,例如:
declare var myModule: any;
这将抑制任何类型检查,myModule
并允许您使用标准tsc
命令来检查文件。