Next.js项目jsconfig.json报找不到eslint-import-resolver-typescript/lib错误求助
问题原因
- Next.js 11 版本已内置路径别名、JS配置的自动适配能力,你通过第三方工具生成的jsconfig.json配置和内置规则冲突,导致TypeScript语言服务错误识别编译根文件范围
- 你的项目是纯JS项目(使用jsconfig而非tsconfig),手动安装
eslint-import-resolver-typescript这个TypeScript专属的eslint解析器后,eslint和编辑器语言服务的模块解析逻辑出现适配错误,即使你在exclude字段中声明了忽略node_modules,语言服务仍然会误将该模块的入口文件识别为需要编译的根文件
解决方案
- 卸载多余的TypeScript解析器
执行命令:
npm uninstall eslint-import-resolver-typescript # 若使用yarn则执行 yarn remove eslint-import-resolver-typescript
- 精简jsconfig.json配置,适配Next.js内置规则
替换你的jsconfig.json为以下内容,Next.js会自动补全target、module等编译配置,不需要手动指定:
{ "compilerOptions": { "baseUrl": ".", "paths": { "@/components/*": ["components/*"], "@/styles/*": ["styles/*"], "@/pages/*": ["pages/*"], "@/utils/*": ["utils/*"], "@/theme/*": ["theme/*"] } }, "exclude": [ "node_modules", ".next", "dist", "build", ".vscode", "coverage", ".npm", ".yarn" ] }
重启编辑器语言服务
在VS Code中按Cmd+Shift+P(Mac)/Ctrl+Shift+P(Windows),搜索并执行「重启TypeScript语言服务」,消除编辑器缓存的配置错误。清除项目缓存重启
执行以下命令删除Next.js本地缓存后重启项目即可:
rm -rf .next npm run dev
如果问题仍然存在,可以在你的.eslintrc配置中补充JS项目专属的模块解析规则:
{ "extends": ["next", "next/core-web-vitals"], "settings": { "import/resolver": { "node": { "paths": ["."], "extensions": [".js", ".jsx"] } } } }
内容的提问来源于stack exchange,提问作者Nish
相关产品推荐
相关产品推荐

