来试试Next.js从版本13开始支持的App Router。
app/目录中的page.tsx和layout.tsx文件,配置根路径(/)。
export default function RootLayout({children,}: {children: React.ReactNode}) {
return (
<html lang="en">
<body>{children}</body>
{/* html, body 태그를 사용하여 레이아웃을 구성*/}
{/* children은 page.tsx 내부의 컴포넌트를 받아서 레이아웃을 구성한다. */}
</html>
)
}export default function Page() {
return <p>Root Page</p>
}app/下创建子文件夹,就可以建立路由。
export default function ExamplePage() {
return <p>Example Page</p>
}export default function SlugPage({ params }: { params: { slug: string } }) {
return <p>{params.slug} Page</p>
}app/api/目录,就可以使用API路由。
import { NextResponse } from "next/server";
export async function GET() {
return NextResponse.json({ message: "Hello World" });
}npm run dev后访问http://localhost:3000/api/hello↗,会返回{"message":"Hello World"}。