VScode не принимает eslint.rc, но терминал - PullRequest
2 голосов
/ 14 марта 2019

Я настраиваю новое приложение, используя React и ESlint. В моем .eslintrc.js file Я расширяю airbnb и переписываю некоторые из их правил следующим образом.

.eslintrc.js
module.exports = {
  "parser": "babel-eslint",
  "parserOptions": {
    "ecmaVersion": 6,
    "sourceType": "module",
    "cmaFeatures": {
      "jsx": true,
      "modules": true,
      "experimentalObjectRestSpread": true
    }
  },
  "env": {
    "browser": true,
    "node": true,
    "jest": true
  },
  "plugins": [
    "react",
    "jest",
    "styled-components-config"
  ],
  "extends": "airbnb",
  "rules": {
    "arrow-body-style": "off",
    "arrow-parens": "off",
    "comma-dangle": "off",
    "consistent-return": "off",
    "eol-last": "error",
    "jsx-one-expression-per-line": "off",
  }
}

Я не получаю ошибок в терминале при загрузке моего сервера разработки веб-пакетов, но в моей IDE (VSCode) он все еще выдает ошибку.

ConversationsCard.js
import React from 'react';

export const ConversationsCard = (props) => {
  const { number } = props;
  return (
    <li>Conversation {number}</li> // error here `Conversation ` must be placed on a new lineeslint(react/jsx-one-expression-per-line
  );
};

У меня не установлен ESlint во всем мире, поэтому он должен смотреть на мой .eslintrc.js. Я не могу понять, что не так. Я пытался изменить "off" на 0 и несколько других вещей. Любое понимание будет высоко ценится.

1 Ответ

0 голосов
/ 15 марта 2019

Так что проблема была в том, что я не использовал правильное имя для правила. ESLint выдавал ошибку для

jsx-one-expression-per-line

но когда вы объявляете правило в вашем .eslintrc.js, оно должно быть объявлено так

"react/jsx-one-expression-per-line": "off",

...