采用NextJS App文件夹的NX集成项目构建失败求助
解决NX + NextJS App Router构建时的模块类型错误
针对你用@NRWL Next插件搭建的NX集成项目(采用NextJS App文件夹架构),构建时出现的“Cannot find module '../../../../../app/configurator/page'”类型错误,可按以下步骤排查修复:
1. 校验导入路径准确性
- 确认
app/configurator/page.tsx(或.ts)文件是否存在于项目对应位置,检查导入语句的相对路径层级是否正确。NX项目多apps/libs的结构容易导致路径层级混淆,比如当前文件若在apps/my-project/app/xxx目录下,导入configurator/page的正确相对路径应为../configurator/page,而非层级错误的../../../../../格式。
2. 修正tsconfig.json的include配置
- 自动添加的
../../dist/apps/my-project/.next/types/**/*.ts路径可能存在层级错误,根据项目内的tsconfig文件位置调整路径:- 若为
apps/my-project目录下的tsconfig.json,将include中的对应路径改为../dist/apps/my-project/.next/types/**/*.ts - 或在项目根目录的
tsconfig.base.json中配置baseUrl: ".",然后将include改为["**/*.ts", "**/*.tsx", "dist/apps/my-project/.next/types/**/*.ts"]
- 若为
3. 清除缓存后重新构建
- 执行
npx nx reset清除NX缓存,删除项目中的.next文件夹,再重新运行构建命令:npx nx build my-project
4. 确认版本兼容性
- 确保
@nrwl/next插件版本与项目依赖的next版本匹配,NX 14.8及以上版本才支持NextJS 13的App Router架构,版本不匹配可能导致类型生成异常。
内容的提问来源于stack exchange,提问作者Ben Gannaway
相关产品推荐
相关产品推荐

