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

Next.js 13.2.4版本:如何移除构建文件夹路径中的_next

移除Next.js 13.2.4构建产物中的"_next"文件夹路径

要把Next.js构建后build目录里的_next路径去掉,将里面的资源直接放到build根目录,可按以下步骤操作:

1. 调整Next.js配置文件

在项目根目录的next.config.js中添加如下配置,确保静态资源的引用路径不依赖_next前缀:

/** @type {import('next').NextConfig} */
const nextConfig = {
  // 指定构建输出目录为build(默认是.next,可按需修改)
  distDir: 'build',
  // 静态资源基础路径设为空,让资源直接从根目录加载
  assetPrefix: '',
  basePath: '',
  // 开启静态导出模式,避免依赖Next.js服务器渲染特性
  output: 'export',
  // 静态导出时必须关闭图片优化,否则资源路径会异常
  images: {
    unoptimized: true,
  },
}

module.exports = nextConfig

2. 自动迁移_next目录下的资源

构建完成后,build目录里会有_next文件夹和其他静态文件(比如index.html),我们可以通过脚本自动把_next里的内容移到build根目录,再删除_next文件夹。

针对Linux/macOS系统

修改package.json的scripts字段:

{
  "scripts": {
    "build": "next build && npm run move-assets",
    "move-assets": "mv build/_next/* build/ && rm -rf build/_next"
  }
}

针对Windows系统

修改package.json的scripts字段:

{
  "scripts": {
    "build": "next build && npm run move-assets",
    "move-assets": "move build\\_next\\* build\\ && rmdir /s /q build\\_next"
  }
}

3. 注意事项

  • 静态导出模式(output: 'export')不支持API路由、Server Components动态渲染等特性,若项目依赖这些功能,此方法不适用,需自定义服务器来映射资源路径。
  • 执行完构建和迁移后,打开build目录下的index.html,检查CSS、JS资源路径是否为根目录(比如/static/css/xxx.css而非/_next/static/css/xxx.css),确保引用正常。
  • 若用Node.js服务器部署,需修改服务器配置,让它从build根目录读取静态资源,而非默认的_next目录。

内容的提问来源于stack exchange,提问作者Ujjwal Batra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 03:42:26