要在不编译TypeScript的情况下使用自定义的TSLint规则,可以使用ts-node和tslint的--rules-dir选项来实现。
以下是一个示例解决方法:
npm install ts-node tslint --save-dev
myCustomRule.ts
,并在其中定义自己的规则逻辑。例如:import * as ts from 'typescript';
import * as tslint from 'tslint';
export class Rule extends tslint.Rules.AbstractRule {
public apply(sourceFile: ts.SourceFile): tslint.RuleFailure[] {
// Your rule logic here
return [];
}
}
tslint.json
,并在其中指定自定义规则的路径:{
"rulesDirectory": [
"./"
],
"rules": {
"my-custom-rule": true
}
}
test.ts
,并在其中使用自定义规则:// @ts-ignore
const foo = "bar";
npx tslint --project ./tsconfig.json --rules-dir ./ --format verbose test.ts
这将使用ts-node来解析和执行TypeScript文件,并使用指定的TSLint配置文件和自定义规则目录来检查代码。
注意:在这个解决方法中,我们使用了@ts-ignore注释来暂时忽略TypeScript编译器的错误,因为我们不会实际编译TypeScript文件,而是在运行时使用ts-node解析和执行它们。
上一篇:不需要初始化的面向对象编程