Typescript ESLint要求分号,并希望同时将其删除
我正在配置ESLint(因为TSLint很快就会被弃用)来处理我的.ts文件。我有一个非常小的文件:Typescript ESLint要求分号,并希望同时将其删除,typescript,eslint,Typescript,Eslint,我正在配置ESLint(因为TSLint很快就会被弃用)来处理我的.ts文件。我有一个非常小的文件: export default interface Departure { line: string; direction: string; time: Date; }; 上一次,在分号为的地方,我的VSCode中的ESLint发出两个错误信号:一个是关于缺少分号ESLint(semi),另一个是关于不必要的分号ESLint(没有额外的semi) 下面是我的.eslintrc.js
export default interface Departure {
line: string;
direction: string;
time: Date;
};
上一次,在分号为的地方,我的VSCode中的ESLint发出两个错误信号:一个是关于缺少分号ESLint(semi)
,另一个是关于不必要的分号ESLint(没有额外的semi)
下面是我的.eslintrc.js
:
module.exports = {
"env": {
"browser": true,
"commonjs": true,
"es6": true,
"node": true
},
"extends": [
"plugin:@typescript-eslint/recommended",
"airbnb"
],
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 2018
},
"plugins": [
"react",
"@typescript-eslint"
],
"settings": {
"import/resolver": {
"node": {
"extensions": [".js", ".jsx", ".ts", ".tsx"]
}
}
},
"rules": {
}
};
我怎样才能摆脱这种奇怪的局面?所有错误都不应该出现。这里的问题是同时应用了两条规则:
1. <代码>导出默认值要求有分号
2. <代码>接口需要去掉分号 这里的修复方法是将接口声明与export语句分开,如下所示:
interface Departure {
line: string;
direction: string;
time: Date;
}
export default Departure;
我自己没有想到答案。来源是这个我使用以下规则解决了这个问题:
"rules": {
"semi": "off",
"@typescript-eslint/semi": ["error"],
}
除了Ricardo Emerson的设置外,以下
.eslintrc
设置将不关闭分号错误:
{
...
"extends": [
...
"eslint:recommended"
],
"rules": {
...
"semi": ["error", "never"],
"@typescript-eslint/semi": "off",
"no-unexpected-multiline": "error"
}
}
根据文档,在关闭分号时,还建议打开“无意外多行错误”按钮。这会关闭所有缺少分号的错误,这是不好的。