Не удалось скомпилировать приложение create-реакции-приложение из-за предупреждений lint после извлечения - PullRequest
0 голосов
/ 04 июня 2018

Я следую за курсом React.Следующим шагом было использование npm run eject, чтобы можно было использовать модули css.

С момента извлечения я не могу использовать npm start.Страница не компилируется.Появляется длинный список предупреждений о распахивании (которые фактически появляются из файлов конфигурации веб-пакета).

Я создал файл .eslintignore для этих и других файлов:

./reactNotes.jsx
./nodeTest.js
./config
./scripts

Но ни то, ни другоемой редактор кода (против кода) или веб-пакет, кажется, заметили этот файл.eslint установлен глобально.

Я также исследовал конфигурацию webpack для eslint с параметрами, такими как exclude:

  {
    test: /\.(js|jsx|mjs)$/,
    enforce: 'pre',
    use: [
      {
        options: {
          formatter: eslintFormatter,
          eslintPath: require.resolve('eslint'),
        },
        loader: require.resolve('eslint-loader'),
      },
    ],
    include: paths.appSrc,
    exclude: /config/
  }

VS В коде eslint включен в моих пользовательских настройках.

Как я могу настроить webpack (и, может быть, даже против кода), чтобы игнорировать каталоги и файлы?

update: здесь .eslintrc:

{
    "parser": "babel-eslint",
    "extends": "react-app",
    "plugins": [
        "react",
        "jsx-a11y",
        "import"
    ],
    "rules": {
        "linebreak-style": [
            "error",
            "windows"
        ],
        "indent": [
            "error",
            4
        ],
        "react/prop-types": 0,
        "react/jsx-indent": 0,
        "jsx-a11y/click-events-have-key-events": 0,
        "jsx-a11y/no-noninteractive-element-interactions": 0,
        "max-len": 0,
        "arrow-body-style": 0,
        "react/jsx-indent-props": 0,
        "react/no-unescaped-entities": 0,
        "react/jsx-no-bind": 0,
        "arrow-parens": 0,
        "react/no-array-index-key": 0
    }
}

Кроме того, установка и перезапуск браузера npm неработа.

browser errors

Ответы [ 3 ]

0 голосов
/ 04 июня 2018

в ответе loveky исправлен код VS.

Чтобы исправить сборку, добавьте свойство exclude в webpack.config, включающее файл рабочего сервиса:

  {
    test: /\.(js|jsx|mjs)$/,
    enforce: 'pre',
    use: [
      {
        options: {
          formatter: eslintFormatter,
          eslintPath: require.resolve('eslint'),
          emitError: false,
        },
        loader: require.resolve('eslint-loader'),
      },
    ],
    include: paths.appSrc,
    exclude: /(config|node_modules|registerServiceWorker.js|nodeTest.js|reactNotes.jsx|webpack.config)/,
  }
0 голосов
/ 28 декабря 2018

Create-response-app использует eslint для внутреннего использования для linting и не запускается, когда проверка eslint выдает ошибку, если вы настроили eslint отдельно (используя config .eslintrc.js) и затем извлекли, он начинает использовать этот eslintКонфиг, который вы настроили.Проблема, с которой я столкнулся, заключается в том, что при использовании отладчика он не запускается и выдает исключение из правила no-debugger.Итак, я создал отдельный конфиг eslint и назвал его test.eslintrc.js, и в моем package.json я сделал: "lint": "eslint src -c test.eslintrc.js", внутри "scripts" тег

Также вы можете использовать .eslintignore и добавлять каталоги: config/ scripts / src / serviceWorker.js

0 голосов
/ 04 июня 2018

в вашем eslintigonre, попробуйте изменить

./config
./scripts

на

config/
scripts/

В документе ESLint он имеет следующие характеристики:

Игнорировать шаблоны в соответствии сСпецификация .gitignore

Вы можете найти полную спецификацию здесь

...