2024-03-07 01:01:38
使用create-next-app创建的Next.js项目默认缺少pages和styles文件夹,是因为启用了Next.js的App Router特性。 以下是详细解释和解决方案:
原因分析运行命令创建项目时,选择启用App Router:npx create-next-app@latest
在交互式提示中,回答Would you like to use App Router? (recommended)时选择Yes。
App Router的路由规则和API与Pages Router不同,需学习新概念(如布局、嵌套路由等)。
学习曲线较高,需理解React Server Components和Server Actions。
运行命令创建项目时,选择禁用App Router:npx create-next-app@latest
在交互式提示中,回答Would you like to use App Router? (recommended)时选择No。
Pages Router是Next.js的传统路由方式,基于文件系统路由(如pages/index.js对应根路径)。
官方文档建议新项目优先尝试App Router,但Pages Router仍会长期维护。
App Router:路由逻辑在app目录下,支持嵌套路由和布局。
Pages Router:路由逻辑在pages目录下,基于文件系统自动生成路由。
App Router:支持React Server Components、Server Actions、流式渲染等。
Pages Router:功能稳定,但缺乏App Router的高级特性。
App Router:需学习新API和概念,学习曲线较高。
Pages Router:熟悉React的开发者可快速上手。
通过上述方法,可根据项目需求灵活选择路由方式,解决缺少pages或styles文件夹的问题。