javascript - Hvordan løse Eslint - Module.createRequire er ikke en funksjon-feil?


Jeg bruker en React-app med Parcel-bundler og TypeScript. Jeg prøver å bruke ESLint, men jeg får denne feilen:

ESLint: Initialiseringsfeil (ESLint). Module.createRequire er ikke en funksjon.

versjoner:

  • IDE: Webstorm
  • Node-versjon: 16.6.2
  • NPM-versjon: 7.20.3
  • Jeg har ikke ESLint installert globalt på maskinen min

Dette er min oppsett:

package.json:

{
  "name": "app-boilerplate",
  "version": "1.0.0",
  "description": "",
  "source": "public/index.html",
  "scripts": {
    "start": "parcel --port=3000 --open --lazy",
    "build": "parcel build",
    "lint": "eslint . --ext .tsx,.ts",
    "lint:fix": "eslint . --ext .tsx,.ts --fix",
    "test": "jest --coverage --passWithNoTests",
    "test:watch": "jest --watchAll --coverage",
    "prepare": "husky install",
    "storybook": "start-storybook -p 6006",
    "build-storybook": "build-storybook"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.16.7",
    "@parcel/transformer-svg-react": "^2.2.0",
    "@storybook/addon-actions": "^6.4.13",
    "@storybook/addon-essentials": "^6.4.13",
    "@storybook/addon-links": "^6.4.13",
    "@storybook/react": "^6.4.13",
    "@testing-library/jest-dom": "^5.16.1",
    "@testing-library/react": "^12.1.2",
    "@types/jest": "^27.4.0",
    "@typescript-eslint/eslint-plugin": "^5.9.1",
    "@typescript-eslint/parser": "^5.9.1",
    "babel-loader": "^8.2.3",
    "eslint": "^8.7.0",
    "eslint-config-airbnb": "^19.0.4",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-import": "^2.25.4",
    "eslint-plugin-jsx-a11y": "^6.5.1",
    "eslint-plugin-react": "^7.28.0",
    "eslint-plugin-react-hooks": "^4.3.0",
    "eslint-plugin-storybook": "^0.5.5",
    "husky": "^7.0.4",
    "jest": "^27.4.7",
    "parcel": "^2.2.0",
    "prettier": "^2.5.1",
    "ts-jest": "^27.1.3",
    "typescript": "^4.5.4"
  },
  "dependencies": {
    "@types/node": "^17.0.8",
    "@types/react": "^17.0.38",
    "@types/react-dom": "^17.0.11",
    "react": "^17.0.2",
    "react-dom": "^17.0.2"
  },
  "alias": {
    "@hooks": "./src/hooks",
    "@libs": "./src/libs"
  }
}

.eslintrc.json:

{
    "env": {
        "browser": true,
        "es2021": true
    },
    "extends": [
        "plugin:react/recommended",
        "airbnb",
        "prettier",
        "plugin:storybook/recommended"
    ],
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
        "project": "./tsconfig.json",
        "ecmaFeatures": {
            "jsx": true
        },
        "sourceType": "module"
    },
    "plugins": [
        "react",
        "@typescript-eslint",
        "jsx-a11y"
    ],
    "rules": {
        "import/extensions": [2, "never"],
        "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx", ".tsx", ".ts"] }],
        "react/jsx-indent": [2, 2, {"checkAttributes": true, "indentLogicalExpressions": true}],
        "react/react-in-jsx-scope": "off",
        "no-console": "off"
    },
    "settings": {
        "import/resolver": {
            "node": {
                "extensions": [".js", ".jsx", ".ts", ".tsx"]
            }
        }
    }
}

Den faktiske feilen inne i Webstorm

Hvordan kan jeg løse det, vær så snill? Takk.

Svar #1

Jeg hadde samme problem. Prøvde i Webstorm-terminalen følgende kommandoer: nvm current (jeg bruker nvm) og node -v. Begge disse kommandoene returnerte 16.14.0.

Men problemet forsvant først da jeg endret standard versjon av node som brukes i selve Webstorm-editoren. Du kan gjøre dette ved å trykke CTRL + ALT + S. Deretter velger du Languages & Frameworks og etter det Node.js. Verdien for Node interpreter: var der 10, og jeg endret den til 16.14.0. Hvis du ikke har denne versjonen av nodejs installert på maskinen din, foreslår jeg at du bruker nvm (node version manager).

Svar #2

Bare oppdatere Node-versjonen din vil løse problemet. Du kan prøve Node versjon 14 eller 16.

Selv om du sier at du bruker Node 16.6.2, blir det definitivt ikke brukt når du kjører skriptet.

Relaterte artikler