是否可以使用 tslint 对整个文件夹进行 lint?
使用 eslint 可以eslint ./src
验证整个文件夹。
当我尝试对 tslint 执行相同操作时 - 我收到错误消息Error: EISDIR: illegal operation on a directory
。在他们在网站上的示例中 - 他们展示了如何验证单个文件,通常情况并非如此。
gulp-tslint
是否可以仅从命令行验证我的项目而无需额外的东西?
是否可以使用 tslint 对整个文件夹进行 lint?
使用 eslint 可以eslint ./src
验证整个文件夹。
当我尝试对 tslint 执行相同操作时 - 我收到错误消息Error: EISDIR: illegal operation on a directory
。在他们在网站上的示例中 - 他们展示了如何验证单个文件,通常情况并非如此。
gulp-tslint
是否可以仅从命令行验证我的项目而无需额外的东西?
您可以使用 glob 对多个文件进行 lint。
通常,如果你只是按原样传递一个 glob,你的 shell 将扩展它并将生成的文件传递给 TSLint。因此,例如,在启用 globstar 选项的 bash 4+ 中,您可以执行以下操作来 lint 所有.ts
文件.tsx
:
tslint src/**/*.ts{,x}
尽管使用可以跨平台和外壳一致工作的命令,但您可能会更好。为此,您可以在引号中传递 glob。在引号中时,glob 将按原样传递给 TSLint,TSLint 将使用node-glob处理它。然后,您可以运行以下命令以获得与上述相同的结果:
tslint 'src/**/*.ts?(x)'
现在有一个--project
选项。例子:
tslint --project .
从文档:
-p,--项目:
包含 tsconfig.json 文件的路径或目录,该文件将用于确定哪些文件将被 linted。此标志还启用需要类型检查器的规则。
如果您的项目有 tsconfig.json,您可以使用 --project advange。
就我而言,我有一个 nativescript 项目,其中包含一个tsconfig.json
at 项目根目录,所以我有这个:
请注意,在 json 中,“node_modules”和“platforms”目录被排除在外。这意味着项目中的所有文件都将被映射,除了 'node_modules' 和 'platforms' 目录。
我在我的 package.json 中添加了这个脚本,'tslint' 来记录错误,'tslint-fix' 来修复错误。
"scripts": {
"tslint": "tslint -p tsconfig.json",
"tslint-fix": "tslint --fix -p tsconfig.json"
}