当前位置: 首页 > 面试题库 >

带有eslint-config-airbnb扩展名为'.js'的文件中不允许JSX

杨甫
2023-03-14
问题内容

我已经安装了eslint-config-
airbnb
,它应该为React预配置ESLINT:

我们的默认导出包含我们所有的ESLint规则,包括ECMAScript 6+和React。它需要eslint,eslint-plugin-
import,eslint-plugin-react和eslint-plugin-jsx-a11y。

.eslintrc扩展了它的配置:

{ "extends": "eslint-config-airbnb",
  "env": {
    "browser": true,
    "node": true,
    "mocha": true
  },
  "rules": {
    "new-cap": [2, { "capIsNewExceptions": ["List", "Map", "Set"] }],
    "react/no-multi-comp": 0,
    "import/default": 0,
    "import/no-duplicates": 0,
    "import/named": 0,
    "import/namespace": 0,
    "import/no-unresolved": 0,
    "import/no-named-as-default": 2,
    "comma-dangle": 0,  // not sure why airbnb turned this on. gross!
    "indent": [2, 2, {"SwitchCase": 1}],
    "no-console": 0,
    "no-alert": 0,
    "linebreak-style": 0
  },
  "plugins": [
    "react", "import"
  ],
  "settings": {
    "import/parser": "babel-eslint",
    "import/resolve": {
      "moduleDirectory": ["node_modules", "src"]
    }
  },
  "globals": {
    "__DEVELOPMENT__": true,
    "__CLIENT__": true,
    "__SERVER__": true,
    "__DISABLE_SSR__": true,
    "__DEVTOOLS__": true,
    "socket": true,
    "webpackIsomorphicTools": true
  }
}

不幸的是,当我在其中插入带有React JSX代码的.js文件时遇到以下错误:

 error  JSX not allowed in files with extension '.js'              react/jsx-filename-extension

如前所述,eslint-config-airbnb是否已配置为支持JSX?

应该怎么做才能消除该错误?


问题答案:

将文件扩展名更改为.jsx,或者禁用jsx-filename-
extension
规则。您可以将以下内容添加到配置中,以允许.jsJSX扩展。

"rules": {
  "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }],
}


 类似资料:
  • 我已经安装了eslint config airbnb,它应该为React预先配置eslint: 我们的默认导出包含所有ESLint规则,包括ECMAScript 6和React。它需要eslint、eslint插件导入、eslint插件反应和eslint插件jsx-a11y。 我的扩展其配置: 不幸的是,当lint一个.js文件中包含React JSX代码时,我遇到了以下错误: 如前所述,esli

  • 问题内容: 我有这个PHP代码: 如果我有一个名为的文件,则此函数返回。 我想做相反的事情,我希望函数不带扩展名就返回。 该文件只是变量中的字符串。 问题答案: 不需要所有这些。签出pathinfo() ,它为您提供了路径的所有组件。 手册中的示例: 代码输出: 或者,您只能获得某些部分,例如:

  • 我正在用PHP做一个简单的网站,我正在使用DropzoneJS上传文件 我尝试只允许以下扩展: pdf、png、jpg、jpeg、bmp和txt . 有什么帮助吗?抱歉英语不好 这是我的upload.php代码 干杯,先生。

  • 问题内容: 我想用PHP包装CSS文件…因此,我为CSS文件编写了标头,并给了它一个.php文件扩展名,因此… css.php。 如果该页面已被用作包含内容,是否可以使用?还是这个新标题与页面所包含的框架冲突? 问题答案: 加纳夫钉牢了它。 我做: 然后在您的.css.php文件顶部:

  • 我正在配置eslint并使用AirBNB样式指南。 我想覆盖缩进(应该是2个空格)为4个空格。但是无论我在我的. eslintrc中做什么,我都不能抑制这个错误,这样我就可以使用4个空格的缩进。 我的代码库中到处都有这样一条消息:“预期缩进2个空格,但发现4个。(react/jsx indent)”。 我正在使用eslint 4.9.0。我如何解决这个问题?谢谢

  • 综述 文件扩展名通常用在web服务器中来简单决定该用什么技术、语言和插件来处理请求。这些行为应该和RFC文档和Web标准相互一致,但是标准的文件扩展名可能提供给攻击者一些关于web应用使用的技术的一些信息,以及极大简化攻击者制定这些特定技术的攻击场景。此外错误配置的web服务器也可能揭示秘密的接入凭证信息。 扩展名检测常用于严重文件上传,这可能导致非预期的结果,因为可能文件内容不是预期的或者操作系