Next.js 基础教程
Next.js 是一个基于 React 的前端开发框架,它提供了服务器端渲染(SSR)和静态生成(SSG)的功能,使得开发者能够构建快速、可扩展的 Web 应用。
环境准备
在开始之前,请确保你已经安装了 Node.js 和 npm/yarn。你可以通过以下命令安装 Next.js:
npx create-next-app@latest my-next-app
cd my-next-app
npm install
或者使用 yarn:
yarn create next-app my-next-app
cd my-next-app
yarn install
目录结构
Next.js 应用的基本目录结构如下:
my-next-app/
  ├── node_modules/
  ├── public/
  ├── src/
  │   ├── pages/
  │   │   └── index.js
  │   └── components/
  ├── next.config.js
  ├── package.json
  └── README.md
页面和路由
在 Next.js 中,页面是通过在 pages 目录下创建 .js、.jsx、.ts 或 .tsx 文件自动生成的。例如,创建一个 about.js 文件在 pages 目录下,将会创建一个 /about 的路由。
// pages/about.js
import Link from 'next/link';
export default function About() {
  return (
    <div>
      <h1>About Us</h1>
      <Link href="/"><a>Home</a></Link>
    </div>
  );
}
静态生成与服务器端渲染
- 静态生成(Static Generation):在构建时生成页面,适用于不频繁更新的内容。
- 服务器端渲染(Server-Side Rendering):在每次请求时生成页面,适用于需要实时数据的内容。
你可以在页面组件中使用 getStaticProps 或 getServerSideProps 函数来控制数据的获取方式。
// 使用静态生成
export async function getStaticProps() {
  const data = await fetch('https://api.example.com/data').json();
  return {
    props: { data },
    revalidate: 3600, // 重新验证时间(秒)
  };
}
// 使用服务器端渲染
export async function getServerSideProps(context) {
  const data = await fetch('https://api.example.com/data').json();
  return {
    props: { data },
  };
}
API 路由
Next.js 允许你在 pages/api 目录下创建 API 路由。这些路由将被自动处理为 API 端点。
// pages/api/data.js
export default function handler(req, res) {
  res.status(200).json({ message: 'Hello from API' });
}
部署
Next.js 应用可以部署在许多不同的平台上,包括 Vercel、Netlify、AWS 等。Vercel 是 Next.js 的官方推荐部署平台,因为它提供了一键部署和自动 SSL 等功能。
结语
本教程只是一个简单的入门,Next.js 还有很多高级特性等待你去探索,比如 CSS/Sass 支持、环境变量、国际化等。希望这个基础教程能帮助你开始使用 Next.js 构建你的 Web 应用。
请根据你的具体需求调整和扩展这篇教程的内容。希望这能帮助你开始你的 Next.js 学习之旅!