如何通过ESLint禁止TypeScript中特定类的默认构造函数调用?
限制TypeScript中默认构造函数调用的ESLint配置方法
完全可行,你之前用no-restricted-syntax没成功大概率是选择器写法不对。以下是具体配置步骤:
- 打开你的ESLint配置文件(比如
.eslintrc.json或.eslintrc.js),在rules字段中添加no-restricted-syntax规则的自定义配置:
{ "rules": { "no-restricted-syntax": [ "error", { "selector": "NewExpression[callee.name='Dog'][arguments.length=0]", "message": "禁止直接调用无参数的new Dog(),请使用带参数的构造函数或指定的工厂方法" } ] } }
- 配置说明:
NewExpression:匹配所有new关键字开头的构造函数调用表达式[callee.name='Dog']:精准限定目标类为Dog[arguments.length=0]:仅拦截无参数的默认构造函数调用message字段可以自定义错误提示文案,方便团队成员理解规则意图
如果你的项目使用@typescript-eslint插件,确保已正确配置@typescript-eslint/parser作为ESLint解析器,这样规则能正确识别TypeScript语法结构。
内容的提问来源于stack exchange,提问作者Eslint_learner
相关产品推荐
相关产品推荐

