React 项目配置代码提交规范 ESLint、Pretttier、Husky、CommitLint
module.exports = {
parser: 'babel-eslint',
extends: [
'airbnb',
'plugin:react/recommended',
'plugin:import-jsx/recommended',
'prettier',
'prettier/react'
],
plugins: ['react', 'jsx-a11y', 'import', 'react-hooks', 'prettier'],
rules: {
// 这里可以根据项目需求配置 ESLint 规则
'react/jsx-filename-extension': [1, { extensions: ['.js', '.jsx'] }],
'import-jsx/no-import-jsx': 'off',
'no-use-before-define': 'off',
'react-hooks/rules-of-hooks': 'error',
'react-hooks/exhaustive-deps': 'warn',
// 关闭需要默认 prop 的检查,因为这会导致不必要的代码膨胀
'react/default-props-last': 'off',
// 关闭强制函数组件使用hooks,因为这不适用于类组件
'react-hooks/rules-of-hooks': 'off',
// 关闭检查是否所有的props都被使用,因为有些组件可能故意不使用props
'react/prop-types': 'off',
},
settings: {
'import/resolver': {
node: {
extensions: ['.js', '.jsx', '.json']
}
}
}
};
这个配置文件是基于 Airbnb 的 ESLint 配置,并添加了对 React 和 JSX 的支持,同时关闭了一些不符合项目需求的规则。在实际项目中,你可以根据自己的需求来开启或关闭规则。
评论已关闭