在我的node_modules(reactjs)中出现了Typescript错误,

lnxxn5zx  于 6个月前  发布在  TypeScript
关注(0)|答案(2)|浏览(65)

🔎 搜索词

"typescript error node_modules"

🕗 版本与回归信息

  • 这是一次崩溃
  • 在4.1.2和5.3.2版本之间发生了变化
  • 在所有我尝试过的版本中,我都查看了关于“node_modules”的常见问题解答

⏯ Playground链接

  • 无响应*

💻 代码

// Your code here

🙁 实际行为

我将我的React 17项目升级到React 18。我也升级了几乎所有的库,修复了出现的所有的typescript错误,但现在我在node_modules(@reduxjs/toolkit)中得到了错误。他们告诉我这不是他们的问题,而是一个typescript问题。

ERROR in node_modules/@reduxjs/toolkit/src/query/fetchBaseQuery.ts:40:57
TS2556: A spread argument must either have a tuple type or be passed to a rest parameter.
    38 |  * Avoids storing `fetch` in a closure, in order to permit mocking/monkey-patching.
    39 |  */
  > 40 | const defaultFetchFn: typeof fetch = (...args) => fetch(...args)
       |                                                         ^^^^^^^
    41 |
    42 | const defaultValidateStatus = (response: Response) =>
    43 |   response.status >= 200 && response.status <= 299

我不知道为什么它会检查node_modules文件夹,这是我的tsconfig.json:

{
  "compilerOptions": {
    "target": "es2020",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "noImplicitAny": false,
    "allowJs": true,
    "skipLibCheck": true,
    "skipDefaultLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "noFallthroughCasesInSwitch": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react-jsx"
  },
  "include": [
    "src/types",
    "src"
  ],
  "exclude": [
    "node_modules/*"
  ],
  "types": []
}

我不知道这是否是eslint问题,但我只是添加了ignorePatterns和.eslintignore以防万一:

"ignorePatterns": [
        "node_modules/",
        "**/node_modules/",
        "/**/node_modules/*",
        "out/",
        "dist/",
        "build/"
    ],

.eslintignore:

/**/node_modules/*
node_modules/

我还在package.json中为@types/react添加了解析,因为我在另一篇文章中看到了。我尝试删除node_modules然后重新安装,尝试运行'yarn cache clean',尝试删除yarn.lock,但仍然出现这个错误。

🙂 预期行为

我希望typescript不在我的node_modules内部进行检查。

wrrgggsh

wrrgggsh1#

看起来问题出在扩展语法上,你的函数等待固定数量的参数,但是你给了不定数量的它们。

也许这会有所帮助:$x^{1e0f1}x$

1tuwyuhd

1tuwyuhd2#

我无法复现这个问题。tsc --listFiles 的配置显示 tsc 正确地解析为 redux .d.ts 文件,而不是 .ts 文件。
src 中有什么?

相关问题