创建 react app eslint 更漂亮的配置

Posted

技术标签:

【中文标题】创建 react app eslint 更漂亮的配置【英文标题】:create react app eslint prettier configuration 【发布时间】:2021-04-20 17:10:07 【问题描述】:

我收到以下错误消息:

但我在 vscode 上没有收到任何错误

这是我的 elint 配置

const path = require('path');

module.exports = 
  env: 
    browser: true,
    es2021: true,
    node: true,
  ,
  extends: [
    'airbnb',
    'prettier',
    'prettier/react',
    'plugin:react/recommended',
    'plugin:prettier/recommended',
    'plugin:import/errors',
    'plugin:import/warnings',
  ],
  parserOptions: 
    ecmaFeatures: 
      jsx: true,
    ,
    ecmaVersion: 12,
    sourceType: 'module',
  ,
  plugins: ['react', 'import', 'prettier'],
  rules: 
    'prettier/prettier': 'error',
    'react/jsx-uses-react': 'off',
    'react/react-in-jsx-scope': 'off',
    'import/named': 'off',
    'import/no-self-import': 'off',
    'import/no-extraneous-dependencies': 'off',
    'react/jsx-props-no-spreading': 'off',
    'import/prefer-default-export': 'off',
    'no-param-reassign': [
      'error',
       props: true, ignorePropertyModificationsFor: ['draft'] ,
    ],
  ,
  settings: 
    'import/resolver': 
      alias: 
        map: [['@', path.join(path.resolve(__dirname, './src'))]],
        extensions: ['.js', '.jsx', '.json'],
      ,
      node: 
        extensions: ['.js', '.jsx'],
      ,
    ,
  ,
;

我的配置有什么问题?

这是我收到错误的组件:

如您所见,没有错误。

注意: eslint 和 prettier 扩展已启用并成功运行。在这些错误之前,我遇到了错误,vscode 显示错误,我确信 vscode eslint 可以工作。

怎么了?

【问题讨论】:

【参考方案1】:

我认为错误是由 create-react-app 附带的 webpack configuration 引起的。 当在您的项目中调用 npm start 时,webpack 进程在幕后开始,对您在自定义 eslint 配置文件中指定的别名一无所知。您的自定义 eslint-config-file 仅由您的编辑器使用(或更具体地由您启用的 eslint-extension 使用),我相信没有平滑的方法可以更改它(无需创建自己的 webpack 配置)。

另见https://create-react-app.dev/docs/setting-up-your-editor/#displaying-lint-output-in-the-editor,它描述了我上面写的内容。

请注意,即使您自定义 ESLint 配置,这些更改也只会影响编辑器集成。它们不会影响终端和浏览器内的 lint 输出。这是因为 Create React App 特意提供了一组最小的规则来发现常见错误。

【讨论】:

以上是关于创建 react app eslint 更漂亮的配置的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用 eslint 上的错误(更漂亮/更漂亮)?

更漂亮 + eslint 换行符

如何在 Visual Studio 代码中配置设置,以便更漂亮地为 react.js 工作

Tslint/eslint vs 更漂亮

create-react-app eslint 问题,因为更高级别的文件夹包含另一个应用程序,其中包含 node_modules

插入`··`更漂亮/更漂亮