配置package.json exports后无法导入@repo/ui的CSS文件求助
问题排查与解决方案
可能的原因及对应解决步骤
1. Next.js未配置编译本地工作区包
Next.js默认不会编译node_modules以外的本地包,而Turborepo的packages/ui属于工作区私有包,需要显式告诉Next.js去编译它:
在Next.js项目的next.config.js中添加transpilePackages配置:
/** @type {import('next').NextConfig} */ const nextConfig = { transpilePackages: ['@repo/ui'], } module.exports = nextConfig
2. 根目录工作区配置缺失
确认项目根目录的package.json中包含正确的workspaces配置,确保@repo/ui能被npm/yarn/pnpm识别为工作区包:
{ "workspaces": [ "packages/*" ] }
3. 导出路径匹配问题
检查packages/ui/package.json的exports配置,通配符./css/*理论上可以匹配./css/themes.css,但如果仍有问题,可以尝试显式指定单个文件的导出:
{ "exports": { "./constants": "./src/constants/index.ts", "./types": "./src/types.ts", "./css/themes.css": "./src/css/themes.css" } }
4. 缓存导致的解析异常
清理Next.js缓存和依赖缓存:
- 删除项目根目录的
.next文件夹 - 若问题仍存在,删除
node_modules后重新执行依赖安装命令(npm install/pnpm install) - 重启开发服务器
内容的提问来源于stack exchange,提问作者wyc
相关产品推荐
相关产品推荐

