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

Amplify部署Next.js项目遇Module not found: '../aws-exports'错误求助

解决Amplify Hosting构建Next.js时找不到aws-exports的问题

问题分析

报错显示_app.js无法解析../aws-exports,核心原因是Amplify构建流程中前端构建先于后端生成aws-exports.js文件,或是配置文件的结构、命令顺序错误导致文件未出现在预期位置。

解决方案

1. 修正amplify.yml的构建顺序与结构

原配置中backend的artifacts配置错误(.next是前端产物目录),且未确保后端先完成aws-exports.js的生成。调整后的配置如下:

version: 1
backend:
  phases:
    preBuild:
      commands:
        - npm install
        - amplify push --y # 强制生成/更新aws-exports.js
frontend:
  phases:
    preBuild:
      commands:
        - npm install
    build:
      commands:
        - npm run build
artifacts:
  baseDirectory: .next
  files:
    - '**/*'
  • 将backend阶段放在frontend之前,确保后端先完成资源部署并生成aws-exports.js
  • 移除backend下的artifacts配置,将产物配置统一放在根级别(对应前端构建产物.next)
  • 添加amplify push --y命令,确保构建时自动生成最新的aws-exports.js

2. 拉取正确的后端环境配置

如果项目是通过Amplify控制台关联的后端环境,可在backend的preBuild阶段添加拉取命令替代push:

backend:
  phases:
    preBuild:
      commands:
        - npm install
        - amplify pull --appId YOUR_AMPLIFY_APP_ID --envName YOUR_ENV_NAME --y

替换YOUR_AMPLIFY_APP_ID和YOUR_ENV_NAME为控制台中的对应值,确保构建时获取到对应环境的aws-exports.js。

3. 构建阶段手动复制文件到预期路径

若上述方法无效,可在前端构建前手动复制文件到对应路径,修改frontend的preBuild命令:

frontend:
  phases:
    preBuild:
      commands:
        - npm install
        - cp src/aws-exports.js src/pages/ # 复制到pages目录适配import路径
    build:
      commands:
        - npm run build

验证要点

  • 本地执行amplify push后,确认src/aws-exports.js存在
  • 查看Amplify控制台的构建日志,确认backend阶段命令是否成功执行、是否生成了aws-exports.js

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 02:54:38