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

将Amplify项目从React迁移至Next.js时遇target属性报错

解决Amplify部署Next.js v13时的"target"属性错误问题

核心问题定位

你遇到的错误本质是Amplify控制台的Framework配置与当前项目类型不匹配——项目已经迁移到Next.js v13,但控制台仍用React - Amplify的构建模板,这套模板会自动注入旧版Next.js需要的target属性,和v13的新规则冲突。

解决方案步骤

1. 切换Amplify控制台的Framework配置

  • 打开Amplify控制台进入你的项目
  • 找到构建设置页面
  • 在前端框架和设置区域,把Framework从「React - Amplify」改成「Next.js - SSR」
  • 保存配置后重新触发构建

2. 验证build.settings配置(按需调整)

当前的build.settings基本符合要求,若切换Framework后仍有问题,可以给构建命令添加环境变量,强制使用Next.js现代构建逻辑:

version: 1
frontend:
  phases:
    preBuild:
      commands:
        - npm install
    build:
      commands:
        - export NEXT_TELEMETRY_DISABLED=1
        - npm run build
  artifacts:
    baseDirectory: .next
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*

3. 清理构建缓存

旧缓存可能残留了之前React项目的配置,导致冲突:

  • 进入Amplify控制台的构建历史,选最近一次失败的构建
  • 点击「重新构建」,勾选「清理缓存」选项

额外检查点

  • 再次确认next.config.js里确实没有target属性,也可以临时删除node_modules重新安装后本地构建,排查是否有第三方依赖自动添加该属性
  • 确保本地Node.js版本和Amplify构建环境的版本一致(可以在preBuild阶段加node -v命令,对比本地和构建环境的版本)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 10:55:09