11---
2- source-updated-at : ' 2025-05-16T04:52:11 .000Z'
3- translation-updated-at : ' 2025-05-17T02:12:53.432Z '
2+ source-updated-at : 2025-05-21T18:33:43 .000Z
3+ translation-updated-at : 2025-05-21T19:18:02.138Z
44title : 如何新建 Next.js 项目
55nav_title : 安装指南
66description : 使用 `create-next-app` CLI 创建新的 Next.js 应用,并配置 TypeScript、ESLint 和模块路径别名。
77---
88
9- { /* 本文档内容在应用路由和页面路由间共享。可使用 `<PagesOnly>内容</PagesOnly>` 组件添加仅适用于页面路由的内容。任何共享内容不应包裹在组件中 。*/ }
9+ { /* 本文档内容在应用路由和页面路由间共享。如需添加仅适用于页面路由的内容, 可使用 `<PagesOnly>内容</PagesOnly>` 组件。共享内容不应包裹在任何组件中 。*/ }
1010
1111## 系统要求
1212
1313开始前请确保系统满足以下要求:
1414
1515- [ Node.js 18.18] ( https://nodejs.org/ ) 或更高版本
16- - macOS、Windows(含 WSL)或 Linux
16+ - macOS、Windows(含 WSL)或 Linux 系统
1717
1818## 自动安装
1919
20- 创建 Next.js 应用最快的方式是使用 [ ` create-next-app ` ] ( /docs/app/api-reference/cli/create-next-app ) ,它会自动完成所有设置 。运行以下命令创建项目:
20+ 创建 Next.js 应用最快的方式是使用 [ ` create-next-app ` ] ( /docs/app/api-reference/cli/create-next-app ) ,它会自动完成所有配置 。运行以下命令创建项目:
2121
2222``` bash filename="终端"
2323npx create-next-app@latest
@@ -26,18 +26,18 @@ npx create-next-app@latest
2626安装过程中会看到以下提示:
2727
2828``` txt filename="终端"
29- 项目名称是什么 ?my-app
29+ 请输入项目名称 ?my-app
3030是否使用 TypeScript?否 / 是
3131是否使用 ESLint?否 / 是
3232是否使用 Tailwind CSS?否 / 是
33- 是否将代码放在 `src/` 目录中 ?否 / 是
34- 是否使用 App Router? (推荐)否 / 是
33+ 是否将代码放在 `src/` 目录下 ?否 / 是
34+ 是否使用应用路由 (推荐)? 否 / 是
3535是否在 `next dev` 中使用 Turbopack?否 / 是
3636是否自定义导入别名(默认为 `@/*`)?否 / 是
37- 要配置什么导入别名 ?@/*
37+ 请输入配置的导入别名 ?@/*
3838```
3939
40- 完成提示后,[ ` create-next-app ` ] ( /docs/app/api-reference/cli/create-next-app ) 会创建以项目名命名的文件夹并安装所需依赖 。
40+ 完成提示后,[ ` create-next-app ` ] ( /docs/app/api-reference/cli/create-next-app ) 会创建项目文件夹并安装所需依赖 。
4141
4242## 手动安装
4343
@@ -65,7 +65,7 @@ npm install next@latest react@latest react-dom@latest
6565- ` next dev ` :启动开发服务器
6666- ` next build ` :构建生产环境应用
6767- ` next start ` :启动生产服务器
68- - ` next lint ` :运行 ESLint
68+ - ` next lint ` :运行 ESLint 检查
6969
7070<AppOnly >
7171
@@ -103,20 +103,20 @@ export default function RootLayout({ children }) {
103103
104104``` tsx filename="app/page.tsx" switcher
105105export default function Page() {
106- return <h1 >Hello, Next.js! </h1 >
106+ return <h1 >你好, Next.js! </h1 >
107107}
108108```
109109
110110``` jsx filename="app/page.js" switcher
111111export default function Page () {
112- return < h1> Hello, Next .js ! < / h1>
112+ return < h1> 你好, Next .js ! < / h1>
113113}
114114```
115115
116- 当用户访问应用根路径 (` / ` ) 时,` layout.tsx ` 和 ` page.tsx ` 会被渲染 。
116+ 当用户访问应用根路径 (` / ` ) 时,` layout.tsx ` 和 ` page.tsx ` 将同时渲染 。
117117
118118<Image
119- alt = " App 文件夹结构 "
119+ alt = " 应用目录结构 "
120120 srcLight = " /docs/light/app-getting-started.png"
121121 srcDark = " /docs/dark/app-getting-started.png"
122122 width = " 1600"
@@ -125,8 +125,8 @@ export default function Page() {
125125
126126> ** 须知** :
127127>
128- > - 如果忘记创建根布局,运行 ` next dev ` 启动开发服务器时 Next.js 会自动创建该文件
129- > - 可选择在项目根目录使用 [ ` src ` 文件夹] ( /docs/app/api-reference/file-conventions/src-folder ) 来分离应用代码和配置文件
128+ > - 如果忘记创建根布局,运行 ` next dev ` 启动开发服务器时 Next.js 会自动生成
129+ > - 可选择使用项目根目录下的 [ ` src ` 文件夹] ( /docs/app/api-reference/file-conventions/src-folder ) 来分离应用代码和配置文件
130130
131131</AppOnly >
132132
@@ -136,21 +136,21 @@ export default function Page() {
136136
137137Next.js 使用文件系统路由,意味着应用路由由文件结构决定。
138138
139- 在项目根目录创建 ` pages ` 文件夹,然后添加 ` index.tsx ` 文件作为首页 (` / ` ):
139+ 在项目根目录创建 ` pages ` 文件夹,然后添加 ` index.tsx ` 作为首页 (` / ` ):
140140
141141``` tsx filename="pages/index.tsx" switcher
142142export default function Page() {
143- return <h1 >Hello, Next.js! </h1 >
143+ return <h1 >你好, Next.js! </h1 >
144144}
145145```
146146
147147``` jsx filename="pages/index.js" switcher
148148export default function Page () {
149- return < h1> Hello, Next .js ! < / h1>
149+ return < h1> 你好, Next .js ! < / h1>
150150}
151151```
152152
153- 接着在 ` pages/ ` 中添加 ` _app.tsx ` 文件定义全局布局 。了解更多关于[ 自定义 App 文件] ( /docs/pages/building-your-application/routing/custom-app ) 。
153+ 接着在 ` pages/ ` 下添加 ` _app.tsx ` 定义全局布局 。了解更多关于[ 自定义 App 文件] ( /docs/pages/building-your-application/routing/custom-app ) 。
154154
155155``` tsx filename="pages/_app.tsx" switcher
156156import type { AppProps } from ' next/app'
@@ -166,7 +166,7 @@ export default function App({ Component, pageProps }) {
166166}
167167```
168168
169- 最后在 ` pages/ ` 中添加 ` _document.tsx ` 文件控制服务器初始响应 。了解更多关于[ 自定义 Document 文件] ( /docs/pages/building-your-application/routing/custom-document ) 。
169+ 最后在 ` pages/ ` 下添加 ` _document.tsx ` 控制服务器初始响应 。了解更多关于[ 自定义 Document 文件] ( /docs/pages/building-your-application/routing/custom-document ) 。
170170
171171``` tsx filename="pages/_document.tsx" switcher
172172import { Html , Head , Main , NextScript } from ' next/document'
@@ -204,49 +204,49 @@ export default function Document() {
204204
205205### 创建 ` public ` 文件夹(可选)
206206
207- 在项目根目录创建 [ ` public ` 文件夹] ( /docs/app/api-reference/file-conventions/public-folder ) 存放图片、字体等静态资源 。` public ` 内的文件可通过根路径 (` / ` ) 引用。
207+ 在项目根目录创建 [ ` public ` 文件夹] ( /docs/app/api-reference/file-conventions/public-folder ) 存放静态资源(如图片、字体等) 。` public ` 中的文件可通过根路径 (` / ` ) 引用。
208208
209209例如 ` public/profile.png ` 可引用为 ` /profile.png ` :
210210
211211``` tsx filename="app/page.tsx" highlight={4} switcher
212212import Image from ' next/image'
213213
214214export default function Page() {
215- return <Image src = " /profile.png" alt = " Profile " width = { 100 } height = { 100 } />
215+ return <Image src = " /profile.png" alt = " 个人头像 " width = { 100 } height = { 100 } />
216216}
217217```
218218
219219``` jsx filename="app/page.js" highlight={4} switcher
220220import Image from ' next/image'
221221
222222export default function Page () {
223- return < Image src= " /profile.png" alt= " Profile " width= {100 } height= {100 } / >
223+ return < Image src= " /profile.png" alt= " 个人头像 " width= {100 } height= {100 } / >
224224}
225225```
226226
227227## 运行开发服务器
228228
229- 1 . 运行 ` npm run dev ` 启动开发服务器
229+ 1 . 执行 ` npm run dev ` 启动开发服务器
2302302 . 访问 ` http://localhost:3000 ` 查看应用
231- 3 . 编辑<AppOnly >` app/page.tsx ` </AppOnly > <PagesOnly >` pages/index.tsx ` </PagesOnly > 文件并保存,浏览器中即可看到更新结果
231+ 3 . 编辑 <AppOnly >` app/page.tsx ` </AppOnly ><PagesOnly >` pages/index.tsx ` </PagesOnly > 文件并保存,浏览器中即可看到更新结果
232232
233233## 配置 TypeScript
234234
235- > 最低 TypeScript 版本要求 :` v4.5.2 `
235+ > TypeScript 最低版本要求 :` v4.5.2 `
236236
237- Next.js 内置 TypeScript 支持。要添加 TypeScript 到项目 ,只需将文件重命名为 ` .ts ` / ` .tsx ` 并运行 ` next dev ` 。Next.js 会自动安装必要依赖并添加包含推荐配置的 ` tsconfig.json ` 文件。
237+ Next.js 内置 TypeScript 支持。要将 TypeScript 添加到项目 ,只需将文件重命名为 ` .ts ` / ` .tsx ` 并运行 ` next dev ` 。Next.js 会自动安装必要依赖并创建包含推荐配置的 ` tsconfig.json ` 文件。
238238
239239<AppOnly >
240240
241241### IDE 插件
242242
243- Next.js 包含自定义 TypeScript 插件和类型检查器,可供 VSCode 等代码编辑器实现高级类型检查和自动补全 。
243+ Next.js 包含自定义 TypeScript 插件和类型检查器,可供 VSCode 等编辑器实现高级类型检查和自动补全 。
244244
245245在 VS Code 中启用插件:
246246
2472471 . 打开命令面板 (` Ctrl/⌘ ` + ` Shift ` + ` P ` )
248- 2 . 搜索 "TypeScript: Select TypeScript Version "
249- 3 . 选择 "Use Workspace Version "
248+ 2 . 搜索 "TypeScript: 选择 TypeScript 版本 "
249+ 3 . 选择 "使用工作区版本 "
250250
251251<Image
252252 alt = " TypeScript 命令面板"
@@ -258,13 +258,13 @@ Next.js 包含自定义 TypeScript 插件和类型检查器,可供 VSCode 等
258258
259259</AppOnly >
260260
261- 更多信息请参考 [ TypeScript 参考文档 ] ( /docs/app/api-reference/config/next-config-js/typescript ) 。
261+ 更多信息请参考 [ TypeScript 配置文档 ] ( /docs/app/api-reference/config/next-config-js/typescript ) 。
262262
263263## 配置 ESLint
264264
265- Next.js 内置 ESLint 支持。使用 ` create-next-app ` 创建新项目时会自动安装必要包并配置正确设置 。
265+ Next.js 内置 ESLint 支持。使用 ` create-next-app ` 创建项目时会自动安装必要包并配置正确设置 。
266266
267- 要为现有项目手动添加 ESLint,在 ` package.json ` 中添加 ` next lint ` 脚本:
267+ 要为现有项目手动添加 ESLint,请在 ` package.json ` 中添加 ` next lint ` 脚本:
268268
269269``` json filename="package.json"
270270{
@@ -274,35 +274,35 @@ Next.js 内置 ESLint 支持。使用 `create-next-app` 创建新项目时会自
274274}
275275```
276276
277- 然后运行 ` npm run lint ` ,将引导完成安装和配置流程 :
277+ 然后运行 ` npm run lint ` ,安装向导将引导完成配置过程 :
278278
279279``` bash filename="终端"
280280npm run lint
281281```
282282
283- 您会看到如下提示 :
283+ 您将看到如下提示 :
284284
285- > ? 您希望如何配置 ESLint?
285+ > ? 希望如何配置 ESLint?
286286>
287287> ❯ 严格模式(推荐)
288288> 基础模式
289289> 取消
290290
291- - ** 严格模式** :包含 Next.js 基础 ESLint 配置及更严格的 Core Web Vitals 规则集。初次设置 ESLint 时推荐此配置
291+ - ** 严格模式** :包含 Next.js 基础 ESLint 配置及更严格的 Core Web Vitals 规则集。首次配置 ESLint 时推荐使用
292292- ** 基础模式** :仅包含 Next.js 基础 ESLint 配置
293- - ** 取消** :跳过配置。如计划自定义 ESLint 配置请选此项
293+ - ** 取消** :跳过配置。如需自定义 ESLint 配置请选择此项
294294
295295选择"严格"或"基础"后,Next.js 会自动安装 ` eslint ` 和 ` eslint-config-next ` 依赖,并在项目根目录创建包含所选配置的 ` .eslintrc.json ` 文件。
296296
297- 现在可随时运行 ` next lint ` 执行 ESLint 检查。ESLint 设置完成后 ,每次构建 (` next build ` ) 时也会自动运行。错误会导致构建失败,而警告不会。
297+ 此后可通过运行 ` next lint ` 执行 ESLint 检查。ESLint 配置完成后 ,每次构建 (` next build ` ) 时也会自动运行。错误会导致构建失败,而警告不会。
298298
299299更多信息请参考 [ ESLint 插件文档] ( /docs/app/api-reference/config/next-config-js/eslint ) 。
300300
301301## 配置绝对导入和模块路径别名
302302
303- Next.js 原生支持 ` tsconfig.json ` 和 ` jsconfig.json ` 文件中的 ` "paths" ` 和 ` "baseUrl" ` 选项。
303+ Next.js 原生支持 ` tsconfig.json ` 和 ` jsconfig.json ` 中的 ` "paths" ` 和 ` "baseUrl" ` 选项。
304304
305- 这些选项允许将项目目录别名化为绝对路径,使模块导入更简洁 。例如:
305+ 这些选项允许将项目目录映射为绝对路径,使模块导入更清晰简洁 。例如:
306306
307307``` jsx
308308// 之前
@@ -312,7 +312,7 @@ import { Button } from '../../../components/button'
312312import { Button } from ' @/components/button'
313313```
314314
315- 要配置绝对导入,在 ` tsconfig.json ` 或 ` jsconfig.json ` 中添加 ` baseUrl ` 配置选项。例如 :
315+ 要配置绝对导入,请在 ` tsconfig.json ` 或 ` jsconfig.json ` 中添加 ` baseUrl ` 配置 :
316316
317317``` json filename="tsconfig.json 或 jsconfig.json"
318318{
@@ -322,7 +322,7 @@ import { Button } from '@/components/button'
322322}
323323```
324324
325- 除配置 ` baseUrl ` 路径外 ,还可使用 ` "paths" ` 选项设置模块路径"别名"。
325+ 除配置 ` baseUrl ` 外 ,还可使用 ` "paths" ` 选项设置模块路径"别名"。
326326
327327例如以下配置将 ` @/components/* ` 映射到 ` components/* ` :
328328
@@ -338,4 +338,4 @@ import { Button } from '@/components/button'
338338}
339339```
340340
341- 每个 ` "paths" ` 都相对于 ` baseUrl ` 位置 。
341+ 每个 ` "paths" ` 都相对于 ` baseUrl ` 指定的位置 。
0 commit comments