在将ESLint引入现有的Typescript代码库后,我遇到了一些解析错误。
我已修复了大多数皮棉错误,但all answers
解析器会抛出很多这样的错误:
babel-eslint
我认为这是因为 23:32 error Parsing error: Unexpected token, expected ","
21 | return state.set(
22 | 'callsInProgress',
> 23 | (state.callsInProgress as any).filter(i => i !== action.payload)
| ^
24 | );
25 | }
26 | case actions.API_RESET: {
无法理解类型转换babel
。
我如何通过解析器获取此信息?
我的babel配置如下:
as any
答案 0 :(得分:3)
自己有一个正在使用 babel , slint 和 typescript 的项目。
我建议您停止使用eslint-babel
,而改为使用@typescript-eslint
/
typescript-eslint是由Tslint (现已弃用)的开发人员启动的项目。它完美地完成了打字稿代码。
这是我的eslint安装的npm软件包的示例:
"@typescript-eslint/eslint-plugin": "^2.34.0",
"@typescript-eslint/parser": "^2.34.0",
"eslint": "^5.16.0",
"eslint-plugin-import": "^2.21.2",
"eslint-plugin-jsx-a11y": "^6.3.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-react": "^7.20.0",
我的.eslintrc
的示例:
module.exports = {
root: true,
parser: '@typescript-eslint/parser',
plugins: [
'@typescript-eslint',
'eslint-plugin-node',
],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
],
parserOptions: {
"ecmaVersion": 2020
},
rules: {
"comma-dangle": ["error", {
"arrays": "always-multiline",
"objects": "always-multiline",
"imports": "always-multiline",
"exports": "always-multiline",
"functions": "always-multiline",
}],
},
env: {
es6: true,
browser: true,
node: true,
},
parserOptions: {
project: './tsconfig.json',
tsconfigRootDir: __dirname,
},
globals: {
"global": false,
"Promise": false,
},
};
注意:我不知道eslint-babel
是否可以与@typescript-eslint
兼容,也许可以,并且您可以同时使用两者。