安装与创建项目
本章带你从零搭建一个 Next.js 应用,了解系统要求、CLI 工具、手动安装流程以及 TypeScript、ESLint、路径别名等基础配置。
系统要求
- Node.js 20.9 及以上。
- macOS、Windows(含 WSL)或 Linux。
- 浏览器:Chrome 111+、Edge 111+、Firefox 111+、Safari 16.4+。
通过 CLI 快速创建
推荐使用官方脚手架 create-next-app,一键生成带最佳实践的项目:
pnpm create next-app@latest my-app --yes
cd my-app
pnpm dev
--yes 会跳过提示,使用默认配置:TypeScript + Tailwind CSS + ESLint + App Router + Turbopack,并自动设置 @/* 路径别名。
去掉 --yes 则会出现交互提示:
Would you like to use TypeScript? Yes
Which linter would you like to use? ESLint / Biome / None
Would you like to use React Compiler? No
Would you like to use Tailwind CSS? Yes
Would you like your code inside a `src/` directory? No
Would you like to use App Router? Yes
Would you like to customize the import alias? No
手动安装
如果你想对项目有完全掌控,也可以手动初始化:
npm i next@latest react@latest react-dom@latest
然后在 package.json 写入 scripts:
{
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "eslint"
}
}
Turbopack 已成为默认打包器。如需使用 Webpack 可运行
next dev --webpack。
创建 app 目录
Next.js 使用文件系统路由。在根目录新建 app/,并创建 根布局(必须包含 html 与 body):
// app/layout.tsx
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="zh-CN">
<body>{children}</body>
</html>
);
}
再创建首页:
// app/page.tsx
export default function Page() {
return <h1>Hello, Next.js!</h1>;
}
启动 npm run dev,访问 http://localhost:3000 即可看到效果。
静态资源目录
在项目根新建 public/ 用于存放图片、字体等静态资源,文件可直接以 / 根路径访问:
import Image from 'next/image';
<Image src="/profile.png" alt="Profile" width={100} height={100} />;
TypeScript 与路径别名
Next.js 原生支持 TypeScript,只需将文件改为 .ts / .tsx,再运行 next dev,它会自动写入 tsconfig.json。
在 tsconfig.json 或 jsconfig.json 中可配置绝对引用,避免冗长的相对路径:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/components/*": ["components/*"],
"@/styles/*": ["styles/*"]
}
}
}
从此就可以写 import { Button } from '@/components/button',而不是 ../../../components/button。