You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js 14应用部署Render后静态资源加载失败求助

Next.js 14 部署 Render 后静态资源 404 问题解决指南

问题概述

在Render平台部署Next.js 14应用,构建流程正常、本地运行无异常,但部署后所有页面无法加载.next/目录下的静态资源(JS、CSS、图片等)。服务器上.next目录及资源确实存在,路径配置也无误,但请求资源时返回404。已尝试移除路由、调整依赖位置等操作,问题未解决。部署地址:https://united-media-dashboard.onrender.com

具体排查与修复步骤

1. 修正Render的发布目录配置

Render默认可能未正确识别Next.js的输出目录,需手动指定:

  • 进入应用的「Settings」→「Build & Deploy」面板
  • 在「Publish Directory」字段中填写.next(替换默认的public或其他路径)
  • 重新触发构建部署

2. 检查next.config.js的assetPrefix设置

确认生产环境下资源前缀配置正确,避免路径拼接错误:

/** @type {import('next').NextConfig} */
const nextConfig = {
  // 根域名部署时assetPrefix留空即可
  assetPrefix: process.env.NODE_ENV === 'production' ? '' : '',
}

module.exports = nextConfig

若应用部署在子路径下,需将assetPrefix设置为对应子路径(如'/dashboard')。

3. 确认启动命令为生产环境指令

Next.js生产环境必须用next start启动,而非开发环境的next dev:

  • 在Render的「Build & Deploy」→「Start Command」中设置为:
npm run start

使用yarn/pnpm的话对应调整为yarn start或pnpm start。

4. 配置生产环境变量

确保Render中已正确设置NODE_ENV为生产环境:

  • 进入「Settings」→「Environment」,添加环境变量NODE_ENV=production
  • 重新构建应用

5. 修复.next目录权限(可选)

若存在目录权限问题,可在构建命令末尾添加权限修复指令:
修改「Build Command」为:

npm run build && chmod -R 755 .next

确保.next目录及所有子文件具备可读可执行权限。

6. 规范静态资源引用方式

检查代码中资源引用是否符合Next.js规范:

  • 图片资源优先使用next/image组件,避免手动硬编码.next/static路径
  • CSS、JS资源由Next.js自动打包处理,不要手动指定资源路径

内容的提问来源于stack exchange,提问作者Nino Korent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 09:15:03