Next.js 15中VS Code自动导入显示@node_modules路径问题
Next.js 15下VS Code自动导入依赖带@node_modules前缀的解决方法
问题根源在你的tsconfig.json里的paths配置:
"paths": { "@*": ["./*"] }
这个@*通配符会匹配所有以@开头的路径,包括Next.js 15包解析时生成的@node_modules临时路径,导致VS Code自动导入时错误生成带前缀的语句。
解决步骤
- 修改
tsconfig.json的paths配置,把泛用的@*改成精确的@/*:
"paths": { "@/*": ["./*"] }
这个规则只会匹配项目内以@/开头的自定义路径,不会干扰第三方包的正常导入逻辑。
保存配置后,重启VS Code的TypeScript服务:
- 按下
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac) - 输入并选择
TypeScript: Restart TS Server
- 按下
重新尝试自动导入第三方包内容,比如sonner的toast,此时会生成正确的导入语句:
import { toast } from "sonner"
补充说明
Next.js 14及之前版本没出现这个问题,是因为旧版本包解析逻辑没有让@node_modules这类临时路径被VS Code自动导入机制捕获,而Next.js 15的内部调整使得该路径暴露,刚好被原通配符规则命中。
内容的提问来源于stack exchange,提问作者O. Shehab
相关产品推荐
相关产品推荐

