如何创建并部署 Next.js 应用

构建 Next.js Web 应用只是将您的构想推向线上的第一步。要让应用运行迅捷、交互敏捷且易于被用户发现,关键在于选择恰当的部署架构。

无论您是使用自然语言提示词构建 AI Web 原型,还是部署从 Claude Code 或 Replit 等工具导出的全栈代码库,现代云平台都能提供零摩擦的托管路径。本指南深入剖析 Next.js 的工作原理,阐述核心渲染架构考量,并带您了解如何利用免费的新手体验层级选项将应用部署到托管式基础设施。

在 Cloud Run 上运行 Next.js 应用

什么是 Next.js?

Next.js 是一款开源 React 框架,旨在帮助开发者构建全栈 Web 应用。标准的 React 应用通常在 Web 浏览器的客户端运行,而 Next.js 则将客户端交互性与服务器端渲染相结合。

Next.js 能够自动处理页面路由、服务器组件和资源优化,让开发者和“氛围编程”开发者 (vibe coder) 只需极少配置,就能将创意概念转化为生产级 Web 应用。

传统 React 对比 Next.js

在标准 React 与 Next.js 之间作何选择,取决于您的渲染要求、搜索引擎曝光度及后端需求:

特性

React(默认)

Next.js

渲染架构

客户端渲染 (CSR)

服务器端渲染 (SSR)、静态网站生成 (SSG) 和 React 服务器组件

搜索引擎优化 (SEO)

可能需要额外的预渲染配置

开箱即用,借助服务器端渲染的 HTML 对搜索引擎天然友好

初始网页加载

由于客户端 JavaScript 软件包较大,在低功耗设备上运行速度较慢

利用轻量级服务器端渲染的 HTML,提升初始呈现速度

路由机制

需要第三方路由库(如 React Router)

通过 App Router 实现基于文件系统的内置路由

全栈能力

仅支持前端;需依赖独立的后端服务

内置 API 路由处理程序和服务器操作

传统应用托管对比无服务器容器

在准备发布 Next.js 应用时,选择合适的计算环境会直接影响维护开销、扩缩速度和运营成本。

功能

虚拟机 (VPS / IaaS)


PaaS / Buildpack 平台


无服务器容器 (Cloud Run)


基础架构管理

高;需手动更新操作系统并为服务器打补丁

遵循厂商专有约定的全托管平台层

全托管式基础设施,无需维护操作系统

自动扩缩行为

预配和启动新虚拟机需要几分钟时间

快速自动扩缩,通常与分层工作器方案或并发上限相关联

即时请求驱动型自动扩缩,包括在空闲时缩减至零

打包格式

原始构建文件或 PM2 进程管理器

Git 代码库与专有构建系统集成

标准 Open Container Initiative (OCI) 和 Docker 容器映像

空闲成本概况

全天候计费,无论是否有传入流量

基本月费或针对免费层级的严格执行限制

免费新手体验层级配额,或在活跃请求期间严格按秒计费

供应商可移植性

高,但设置可能难以复制

低;配置依赖于供应商特定的托管规则

高;标准容器映像可在任何云端或本地环境中运行

创建 Next.js 应用时的关键考虑事项

构建可用于生产用途的 Next.js 应用需要解决核心架构模式,以确保快速的性能和稳定的正常运行时间:

客户端和服务器边界

Next.js 默认使用 React Server Components [推理]。服务器组件直接提取数据,而无需向浏览器发送大量 JavaScript,而互动式界面元素则使用“use client”指令 [推理]。让客户端组件专注于互动式界面任务,从而保持客户端软件包的精简和快速 [推理]。

客户端环境变量

为了防止私有 API 密钥或数据库凭证泄露到公共浏览器,Next.js 限制浏览器访问带有 NEXT_PUBLIC_ 前缀的变量。始终确保私有服务器密钥不带前缀,并在环境配置中安全地对其进行管理。

无状态无服务器执行

现代无服务器平台会根据传入流量启动和关闭容器实例。直接保存到本地容器磁盘的文件会在实例缩容或重新部署时消失。将持久性应用数据存储在 Cloud Firestore 或 Cloud SQL for PostgreSQL 等托管式云数据库中,并将用户上传的内容存储在 Cloud Storage 中。

独立输出跟踪

在自定义容器部署中,在 Next.js 配置中启用 output: 'standalone' [推理]。这会自动跟踪依赖项,并仅将必要的文件打包到一个紧凑的构建文件夹中,从而减小容器映像大小并加快容器启动速度 [推理]。

如何创建并部署 Next.js 应用

您可以通过两种主要工作流创建和启动 Next.js 应用:快速 AI 原型设计(无需本地 CLI 设置)或标准容器部署(适用于自定义代码库)。

路径 A:借助 AI Studio 构建模式与入门层级快速构建原型

对于快速原型设计和氛围编程 (vibe coding) 工作流,Google AI Studio 的构建模式允许开发者使用自然语言描述全栈 Next.js 应用,并直接将其发布到 Cloud Run,而无需管理命令行工具或配置结算账号。

第 1 步:在构建模式下初始化应用

  1. 前往 Google AI Studio,然后切换到构建模式。
  2. 输入应用提示,描述您的界面、样式和业务逻辑(例如,“使用 Next.js 构建一个协作式项目跟踪器,其中包含互动式任务板和用户登录功能”)。
  3. 集成的 AI 智能体可生成 Next.js 组件文件、配置 App Router 布局、安装 npm 依赖项,并直接在浏览器中显示实时互动式预览。

第 2 步:添加集成式数据库存储和用户登录功能

  • 持久性数据:如果您的提示需要数据存储,请启用 Cloud Firestore 或 Cloud SQL for PostgreSQL(开发者版)。智能体将自动起草数据模型、客户端连接文件和安全规则。
  • 用户身份验证:开启 Firebase Authentication,即可启用 Google 登录流程,而无需编写自定义 OAuth 重定向处理程序。

第 3 步:发布到 Cloud Run

  1. 点击上方界面中的发布 > 开始 > 发布应用。
  2. 提供自定义网址 <my-nextjs-app>.ai.studio 并确认部署区域。
  3. 该平台会打包您的容器,预配底层计算,并在几秒钟内为您提供一个有效的 *.run.app HTTPS 生产网址。

路径 B:将自定义 Next.js 代码库部署到 Cloud Run

对于现有代码库或从 Claude Code、Replit 或本地开发环境等工具导出的项目,请将应用容器化,并使用 Google Cloud CLI 进行部署。

第 1 步:配置独立输出

更新 next.config.js(或 next.config.mjs)文件,以生成独立构建 [推理]:

  • JavaScript
正在加载...

第 2 步:创建多阶段 Dockerfile

在根文件夹中创建一个包含 node_modules 和 .env 的 .dockerignore 文件,这样本地开发文件就不会打包到容器中。

在项目根目录中创建一个 Dockerfile:

  • Dockerfile
正在加载...

第 3 步:部署到 Cloud Run

使用 Google Cloud CLI 直接从项目文件夹进行部署,并分配一个易于记住和共享的自定义网址,格式为 <my-cool-app>.cloud.run:

  • Bash
正在加载...

免费层级和新手体验层级定价机制

了解免费配额的运作方式,可确保您能够以可预测的方式对 Next.js 应用进行原型设计和扩缩:

选项

计算和资源限额

要求和限制

• Cloud Run:最多 2 个活跃 Web 应用

• Cloud Firestore:1 GiB 存储空间、5 万次读取/天、4 万次写入/天

• Cloud SQL:PostgreSQL 开发者版(缩减至零)

• Firebase Authentication:包含 Google 登录功能

• 有效的 Google 账号

• 无需提供信用卡或结算账号

• 资源固定至单个区域

• Cloud Run:200 万次请求/月、18 万 vCPU 秒/月、36 万 GiB 秒/月、1 GB 北美网络出站流量/月

• 获享 300 美元迎新赠金,可在前 90 天内使用

• 关联的 Cloud Billing 账号

• 跨所有区域的完整平台 API 访问权限

在无服务器环境中运行 Next.js 的最佳实践

  • 使用独立输出:始终启用 Next.js 独立模式,避免将未使用的开发依赖项打包到生产容器 [推理]。
  • 为付费项目设置实例限制:从原型设计沙盒过渡到生产环境时,设置 --max-instances(例如 --max-instances 5),以确保意外的流量激增不会超出您的预算。
  • 利用 React Server Components:将密集的数据提取转移到服务器组件,以保持浏览器 bundle 轻量化并改善核心 Web 指标 [推断]。
  • 确保客户端环境变量已内置:请记住,NEXT_PUBLIC_ 环境变量会在构建时嵌入到客户端软件包中。请确保在运行构建阶段之前定义这些变量。

利用 Google Cloud 解决业务难题

新客户可获得 $300 赠金,用于抵扣 Google Cloud 的费用。

更进一步

获享 $300 赠金以及 20 多种提供“始终免费”用量的产品,开始在 Google Cloud 上构建项目。