eslint写jsx报错

eslint写jsx报错

ChatGPT提示

在写JSX时,ESLint可能会报出一些语法错误,这些错误通常是由于ESLint默认配置中不支持JSX语法导致的。为了解决这些错误,我们需要在ESLint配置文件中启用对JSX语法的支持。

首先,需要安装eslint-plugin-react插件:

yarn add eslint-plugin-react --dev

然后,在.eslintrc文件中添加以下配置:

javascript 复制代码
{
  "parserOptions": {
    "ecmaVersion": 6,
    "sourceType": "module",
    "ecmaFeatures": {
      "jsx": true
    }
  },
  "extends": ["eslint:recommended", "plugin:react/recommended"],
  "plugins": ["react"],
  "rules": {
    // 这里填入你的项目需要的个性化配置
    "react/prop-types": "off"
  },
  "settings": {
    "react": {
      "version": "detect"
    }
  }
}

在这个配置文件中,我们启用了ESLint对ES6和JSX语法的支持,同时继承了eslint:recommended和plugin:react/recommended配置,启用了react插件,并关闭了react/prop-types规则。如果你需要添加其他的规则或插件,可以在rules和plugins中添加相应的配置。

此外,如果你使用了其他的JSX语法扩展,比如React Router中的 和组件,可以在eslint-plugin-react配置中添加对应的规则,以避免ESLint报出错误。例如:

javascript 复制代码
{
  "rules": {
    "react/jsx-uses-vars": "error",
    "react/jsx-uses-react": "error",
    "react/jsx-no-undef": "error",
    "react/jsx-uses-router": "error"
  }
}

这些规则可以在ESLint官方文档中找到。

在自己项目加上

我的代码

json 复制代码
module.exports = {
  parserOptions: {
    ecmaVersion: 6,
    sourceType: 'module',
    ecmaFeatures: {
      jsx: true,
    },
  },
  extends: ['eslint-config-alloy/react'],
  globals: {
    // 这里填入你的项目需要的全局变量
    // 这里值为 false 表示这个全局变量不允许被重新赋值,比如:
  },
  rules: {
    // 这里填入你的项目需要的个性化配置
    'react/prop-types': 'off',
    'react/jsx-no-target-blank': 'off',
    'react/no-string-refs': 'off',
    'jsx-a11y/anchor-has-content': 'off',
    'jsx-a11y/anchor-is-valid': 'off',
    'jsx-a11y/click-events-have-key-events': 'off',
    'jsx-a11y/no-static-element-interactions': 'off',
    'no-param-reassign': 'off',
    'no-plusplus': 'off',
    'react/jsx-uses-vars': 'error',
    'react/jsx-uses-react': 'error',
    'react/jsx-no-undef': 'error',
  },
  plugins: [
    // 这里添加你的插件名字
    'react',
  ],
  settings: {
    // 这里添加你的插件设置
    react: {
      version: 'detect',
    },
  },
  env: {
    // 这里填入你的项目需要的环境
    // 它们预定义了不同环境的全局变量,比如:
    //
    // browser: true,
    // node: true,
    // mocha: true,
    // jest: true,
    // jquery: true
  },
};
相关推荐
我命由我123452 天前
前端性能优化指标 - DCL(触发时机、脚本对 DCL 的影响、CSS 对 DCL 的影响)
开发语言·前端·javascript·css·性能优化·html·js
我命由我123452 天前
Tailwind CSS - Tailwind CSS 引入(安装、初始化、配置、引入、构建、使用 Tailwind CSS)
前端·javascript·css·npm·node.js·js
我命由我123453 天前
脚本运行禁止:npm 无法加载文件,因为在此系统上禁止运行脚本
前端·javascript·前端框架·npm·node.js·html·js
解道Jdon4 天前
DeepSeek核心贡献:将SFT和RL统一的数学公式
javascript·reactjs
ThomasChan1239 天前
Typescript 多个泛型参数详细解读
前端·javascript·vue.js·typescript·vue·reactjs·js
我命由我123459 天前
NPM 与 Node.js 版本兼容问题:npm warn cli npm does not support Node.js
前端·javascript·前端框架·npm·node.js·html5·js
某公司摸鱼前端16 天前
React 第三方状态管理库相关 -- Recoil & Zustand 篇
前端·javascript·reactjs·zustand·recoil
解道Jdon18 天前
虚拟线程JDK与Spring Core Reactor
javascript·reactjs
我命由我1234524 天前
CesiumJS 案例 P34:场景视图(3D 视图、2D 视图)
前端·javascript·3d·前端框架·html·html5·js
丢失的林夕1 个月前
axios的替代方案onion-middleware
前端·vue.js·ajax·typescript·reactjs