我已经为我的React Native项目设置了几个星期的linting & formatings,但是我无法取得太大的进展。我已经看了很多教程,并且尽我所能地遵循它们,但是似乎仍然有一些设置问题。
我的项目有一个Django后端和React Native前端,因此React应用(在src/frontend
目录中)使用Expo、Yarn和TypeScript从这里的教程开始:https://reactnative.dev/docs/environment-setup.
没有对这个设置做进一步的更改,我尝试向它添加ESLint & Prettier。
这些是我的配置文件:
.eslintrc.js
module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
project: 'tsconfig.json',
tsconfigRootDir: __dirname,
},
plugins: [
'@typescript-eslint',
'import',
'react',
'react-hooks',
'react-native',
'prettier',
],
extends: [
'airbnb-typescript',
'plugin:import/recommended',
'plugin:import/typescript',
'plugin:react/recommended',
'plugin:react-hooks/recommended',
'prettier',
'plugin:prettier/recommended',
],
rules: {
'no-use-before-define': 'off',
'@typescript-eslint/no-use-before-define': ['error'],
'prettier/prettier': 'error',
},
};
.prettierrc.json
{
"singleQuote": true
}
tsconfig.json
{
"extends": "expo/tsconfig.base",
"compilerOptions": {}
}
举几个我遇到的严重错误的例子,我得到了import/namespace
对应react-native
,它说';' expected
,在定义之前使用的变量,如styles
,解析错误"parserOptions.project"已经为@typescript-eslint/parser
设置,.eslintrc.js
与项目配置不匹配。
1条答案
按热度按时间nhhxz33t1#
最后我创建了
tsconfig.eslint.json
,内容如下:因此将
parserOptions.project
更改为'tsconfig.eslint.json'
起作用。