开发者问题收集

eslint 找不到模块‘node:fs’ 需要堆栈:

2023-07-18
1119

我正在开发一个团队应用程序。 我在 react 和 typescript 中有我的选项卡。(如果您不了解团队应用程序,该选项卡可以被视为一个单独的 react 应用程序)

我正在借助 es lint 和 prettier 启动 linting。

我能够运行我的脚本并解决问题。 事实上,我已经解决了所有问题。

当我开始调试我的团队应用程序时, 我收到此错误:

`[eslint] 中的错误无法找到模块“node:fs” 需要堆栈:

  • /Users/teams_app/tabs/node_modules/synckit/lib/index.cjs
  • /Users/teams_app/tabs/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.js
  • /Users/teams_app/tabs/node_modules/@eslint/eslintrc/dist/eslintrc.cjs 在 linting /Users/teams_app/tabs/src/components/tabs/wish-tab/Wish.tsx:1 时发生 规则: “prettier/prettier”`

这是我的 eslintrc.json

{
  "env": {
    "browser": true,
    "es2021": true,
    "jest": true
  },
  "extends": [
    "react-app",
    "react-app/jest",
    "airbnb",
    "airbnb-typescript",
    "plugin:import/typescript",
    "plugin:prettier/recommended"
  ],
  "parserOptions": {
    "ecmaVersion": "latest",
    "sourceType": "module",
    "project": "./tsconfig.json"
  },
  "plugins": ["react", "@typescript-eslint", "prettier"],
  "rules": {
    //my rules here
  }
}

这是开发依赖项的列表

"devDependencies": {
    "@types/node": "^20.4.2",
    "@types/react": "^16.14.6",
    "@types/react-dom": "^16.9.12",
    "@types/react-router-dom": "^5.1.7",
    "cross-env": "^7.0.3",
    "env-cmd": "^10.1.0",
    "eslint": "^8.45.0",
    "eslint-config-airbnb": "^19.0.4",
    "eslint-config-airbnb-typescript": "^17.1.0",
    "eslint-import-resolver-typescript": "^2.7.1",
    "eslint-plugin-import": "^2.27.5",
    "eslint-plugin-jsx-a11y": "^6.7.1",
    "eslint-plugin-react": "^7.32.2",
    "eslint-plugin-react-hooks": "^4.6.0",
    "typescript": "^4.1.2"
  },

这是我的文件夹结构 文件夹结构图像 但在每个文件上我都会收到此错误 - 似乎它没有正确采用路径 路径错误图像

我尝试将“eslint-import-resolver-typescript”降级为“^2.7.1”,并安装最新的节点版本。我正在使用 18.16.1 我将“@types/node”升级到“^20.4.2”,

我希望它运行时不会出现任何错误

1个回答

我遇到了同样的问题,似乎是由我的 eslintrc 中的这一行引起的: “plugin:prettier/recommended” 。我安装了全新安装的 ViteJS,并安装了 airbnb 的 eslint 和 prettier。我不确定为什么插件不起作用,但它提到当它是唯一的插件时效果最好。幸运的是我不需要它,请阅读下文。

此行用于在 eslint 中应用 Prettier 规则的 plugin ,因此当出现问题时,您会看到红色波浪线。我不想让 eslint 提醒我需要自己格式化。 https://github.com/prettier/eslint-plugin-prettier

我想要使用 config prettier,这是为 prettier 预定义的一组规则。这些是我的 format 命令将使用的规则。 https://github.com/prettier/eslint-config-prettier

我在 eslintrc 中的 extends 对象中将其更改为 “prettier” ,这会关闭一些与 Prettier 冲突的 ESLint 规则。我还从我的 eslintrc 中的插件数组中删除了 prettier

extends: ['prettier']

plugins: ['react-refresh', '@typescript-eslint']

toomanychrises
2023-09-01