如何配置@typescript-eslint规则?member-delimiter-style配置求助
解决@typescript-eslint/member-delimiter-style无分号/逗号的配置问题
我完全懂这种找不到具体配置示例的烦躁,刚好之前配置过这个规则,直接给你能落地的配置方案:
你需要在ESLint配置文件(比如.eslintrc.js或.eslintrc.json)的rules字段下,给@typescript-eslint/member-delimiter-style添加详细配置,就能实现类、接口、类型字面量的成员末尾不使用分号或逗号的要求。
1. JS格式配置文件(.eslintrc.js)示例
module.exports = { // 保留你已有的其他配置(比如extends、parser等) rules: { // 其他规则... '@typescript-eslint/member-delimiter-style': [ 'error', // 设为error会触发报错,warn则是警告,按需调整 { // 处理多行成员的情况 multiline: { delimiter: 'none', // 禁用任何分隔符(分号/逗号都不允许) requireLast: false, // 最后一个成员也不需要加分隔符 }, // 处理单行成员的情况 singleline: { delimiter: 'none', requireLast: false, }, // 针对TypeScript特有的语法做单独覆盖 overrides: { interface: { multiline: { delimiter: 'none', requireLast: false }, singleline: { delimiter: 'none', requireLast: false }, }, typeLiteral: { multiline: { delimiter: 'none', requireLast: false }, singleline: { delimiter: 'none', requireLast: false }, }, }, }, ], }, };
2. JSON格式配置文件(.eslintrc.json)示例
{ "rules": { "@typescript-eslint/member-delimiter-style": [ "error", { "multiline": { "delimiter": "none", "requireLast": false }, "singleline": { "delimiter": "none", "requireLast": false }, "overrides": { "interface": { "multiline": { "delimiter": "none", "requireLast": false }, "singleline": { "delimiter": "none", "requireLast": false } }, "typeLiteral": { "multiline": { "delimiter": "none", "requireLast": false }, "singleline": { "delimiter": "none", "requireLast": false } } } } ] } }
配置完成后,重启ESLint服务或者重新执行lint命令,那个Expected a semicolon的错误就会消失啦。
内容的提问来源于stack exchange,提问作者Nelaina
相关产品推荐
相关产品推荐

