Next.js CLI
Next.js 命令行工具 (CLI) 允许您启动、构建和导出应用程序。
要获取可用 CLI 命令列表,请在项目目录中运行以下命令:
(npx 随 npm 5.2+ 及更高版本提供)
输出应如下所示:
您可以向 next
命令传递任何 Node 参数:
须知:直接运行
next
等同于运行next dev
构建
next build
会创建应用程序的优化生产版本。输出会显示每个路由的信息。
- 大小 - 客户端导航至页面时需要下载的资源量。每个路由的大小仅包含其依赖项。
- 首次加载 JS - 从服务端访问页面时需要下载的资源量。所有路由共享的 JS 量会单独显示。
这些数值均为 gzip 压缩后的大小。首次加载会以绿色、黄色或红色标示。建议保持绿色以获得最佳性能。
您可以通过 next build
的 --profile
标志启用 React 的生产环境性能分析。此功能需要 Next.js 9.5:
之后您可以像开发环境一样使用性能分析器。
您可以通过 next build
的 --debug
标志启用更详细的构建输出。此功能需要 Next.js 9.5.3:
启用此标志后会显示额外的构建输出,如重写规则、重定向和标头信息。
开发
next dev
以开发模式启动应用程序,支持热重载、错误报告等功能:
默认情况下,应用程序会启动在 http://localhost:3000
。可以通过 -p
修改默认端口:
或使用 PORT
环境变量:
须知:
PORT
不能在.env
中设置,因为 HTTP 服务器的启动早于其他代码初始化。
您还可以修改默认主机名 0.0.0.0
,这对于让网络中的其他设备访问应用程序很有用。通过 -H
修改默认主机名:
生产环境
next start
以生产模式启动应用程序。应用程序应先用 next build
编译。
默认情况下,应用程序会启动在 http://localhost:3000
。可以通过 -p
修改默认端口:
或使用 PORT
环境变量:
须知:
PORT
不能在.env
中设置,因为 HTTP 服务器的启动早于其他代码初始化。
next start
不能与output: 'standalone'
或output: 'export'
同时使用。
保持活动超时
当 Next.js 部署在下游代理(如负载均衡器 AWS ELB/ALB)后方时,必须将 Next.js 底层 HTTP 服务器的 keep-alive 超时配置为大于下游代理的超时时间。否则,当 TCP 连接达到 keep-alive 超时后,Node.js 会立即终止该连接而不通知下游代理。这会导致代理尝试重用已被 Node.js 终止的连接时出现错误。
要为生产环境 Next.js 服务器配置超时值,可向 next start
传递 --keepAliveTimeout
(毫秒单位):
代码检查
next lint
会对 pages/
、app/
、components/
、lib/
和 src/
目录下的所有文件运行 ESLint。如果应用程序尚未配置 ESLint,它还会提供引导式安装所需依赖的功能。
如需检查其他目录,可使用 --dir
标志指定:
遥测
Next.js 会收集完全匿名的通用使用情况遥测数据。参与此匿名计划是可选的,如果您不愿分享任何信息可以选择退出。
要了解有关遥测的更多信息,请阅读此文档。
系统信息
next info
会打印当前系统的相关信息,可用于报告 Next.js 错误。这些信息包括操作系统平台/架构/版本、二进制文件(Node.js、npm、Yarn、pnpm)和 npm 包版本(next
、react
、react-dom
)。
在项目根目录运行:
将输出类似以下示例的信息:
这些信息应粘贴至 GitHub Issues 中。
如需诊断安装问题,可运行 next info --verbose
打印系统和 next 相关包安装的额外信息。