Turbopack 为什么无法正确解析别名路径?
我用 Turbopack 启动项目时,配置了 tsconfig.json 里的 paths 别名,但一导入就报找不到模块。明明在 webpack 里好好的,Turbopack 是不是不支持?
我的 tsconfig.json 配置如下:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
}
}
}
然后在组件里写了 import Button from '@/components/Button',结果控制台直接报错说 Cannot resolve module ‘@/components/Button’。
先检查下你的项目结构是不是按 tsconfig.json 的配置来的。src 目录下确实有 components/Button.tsx 文件吧?如果确认路径没问题的话,试试在 turbopack 配置里显式指定一下别名。
你可以在 turbopack.config.js 里加个 resolve.alias:
这相当于给 Turbopack 明确指定了 @ 符号对应的物理路径。注意这个配置需要安装 path 模块,用 require('path') 引入。
调试看看能不能解决问题。要是还不行,建议去看看 Turbopack 的 issue 列表,说不定已经有类似问题的讨论了。有时候新工具就是得跟着社区走啊,各种坑等着填呢。
配完重启开发服务器就行。