我希望开始在我的.tsx文件上使用eslint。
我的配置如下:
module.exports = {
'env': {
'browser': true,
'es2021': true
},
'settings': {
'react': {
'version': 'detect'
}
},
'extends': [
'eslint:recommended',
'plugin:react/recommended',
'plugin:@typescript-eslint/recommended'
],
'parser': '@typescript-eslint/parser',
'parserOptions': {
'ecmaFeatures': {
'jsx': true
},
'ecmaVersion': 12,
'sourceType': 'module'
},
'plugins': [
'react',
'@typescript-eslint'
],
'rules': {
'indent': [
'error',
'tab'
],
'linebreak-style': [
'error',
'unix'
],
'quotes': [
'error',
'single'
],
'semi': [
'error',
'never'
]
}
}如果我有一个扩展名为.ts的文件并运行以下命令:
yarn eslint ./src/components/Frame.ts
..。我可以有一张衬里错误的清单。
如果我将扩展更改为.tsx并在其上运行以下命令:
yarn eslint ./src/components/Frame.tsx
..。我一点口信都没有。没有错误警告什么的。就好像这个文件是有效的。
在我的VSCode中,我有ESLint扩展。起作用了。它突出了这些问题。正如我所知,这个扩展名使用相同的.eslintrc文件,所以配置应该是很好的。

您能给出为什么配置使用扩展,为什么它不能在终端工作吗?
发布于 2022-10-17 14:03:56
问题在于您如何运行es-lint当前@typescript-eslint默认不检查.tsx,您必须指定需要检查的扩展,例如
yarn eslint --ext=ts,tsx src此命令将搜索src文件夹中以.ts或.tsx结尾的所有文件,@typescript-eslint将按预期在.ts或.tsx中工作。
yarn eslint src/**/*.ts src/**/*.tsx此命令将搜索src文件夹中以.ts或tsx结尾的所有文件,但@typescript-eslint只在.ts上工作,而忽略.tsx。
yarn eslint ./src/components/Frame.tsx您试图运行的这个命令将与第二个命令yarn eslint src/**/*.ts src/**/*.tsx一样工作,但是它将搜索./src/components/Frame.tsx。
https://stackoverflow.com/questions/68504068
复制相似问题