🔎 搜索词
"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内部进行检查。
2条答案
按热度按时间wrrgggsh1#
看起来问题出在扩展语法上,你的函数等待固定数量的参数,但是你给了不定数量的它们。
也许这会有所帮助:$x^{1e0f1}x$
1tuwyuhd2#
我无法复现这个问题。
tsc --listFiles
的配置显示 tsc 正确地解析为 redux .d.ts 文件,而不是 .ts 文件。src
中有什么?