因此,我决定创建一个新的Nextjs 13.4.5项目,其中包含一个app目录。
我在应用程序目录中创建了一个新的 Jmeter 板目录,然后在 Jmeter 板目录中创建了页面和布局组件。它工作得很好,有两个布局组件:一个是app目录中的根布局,另一个是我在 Jmeter 板目录中创建的layout.tsx
最终我决定删除 Jmeter 板目录中的layout.tsx,因为我只想使用根layout,但是发生了一个错误:
./
Module not found: Can't resolve '/myproject/src/app/dashboard/layout.tsx'
https://nextjs.org/docs/messages/module-not-found
我已经在我的项目中搜索了引用已删除的dashboard/layout.tsx的任何import语句或动态导入,但是没有引用
下面是我tsconfig文件:
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": false,
"skipLibCheck": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"incremental": true,
"plugins": [
{
"name": "next"
}
],
"paths": {
"@/*": ["./src/*"]
}
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
"exclude": ["node_modules"]
}
整个问题是,当你为一个新页面创建一个新目录时,如果你没有在那个目录中创建layout.tsx,一切都会正常运行。
但是如果你在路由目录中创建了一个布局组件,然后删除了它,那么Nextjs将无法在没有布局组件的情况下呈现该路由,这有点奇怪。
有什么办法解决这个问题吗?因为我不想为我的路线创建无用的布局组件
1条答案
按热度按时间ifsvaxew1#
我有完全相同的问题和删除。下一个文件夹为我工作!谢谢@imjared的回答!