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

Vercel自动构建失败:无法解析'../aws-exports'模块

解决Vercel构建时找不到aws-exports的问题

方案一:通过Amplify CLI在Vercel构建阶段自动生成配置文件

  1. 配置Vercel环境变量
    进入Vercel项目的「Settings」→「Environment Variables」,添加以下两个密钥变量(设为Secret类型):

    • AWS_ACCESS_KEY_ID:拥有Amplify只读权限的IAM用户访问密钥ID
    • AWS_SECRET_ACCESS_KEY:对应IAM用户的密钥
  2. 修改构建脚本
    在项目package.json的scripts中添加prebuild命令,用于拉取Amplify配置并生成aws-exports.js:

    "scripts": {
      "prebuild": "amplify pull --appId <你的Amplify应用ID> --envName <目标环境名,如prod> --yes",
      "build": "react-scripts build"
    }
    

    替换<你的Amplify应用ID>和<目标环境名>为实际值,应用ID可在Amplify控制台的应用设置中获取。

  3. 确保Vercel环境安装Amplify CLI
    在项目根目录创建vercel.json,配置构建命令前置安装CLI:

    {
      "buildCommand": "npm install -g @aws-amplify/cli && npm run build"
    }
    

    若使用yarn,替换为yarn global add @aws-amplify/cli && yarn build。

方案二:将aws-exports配置转为环境变量,动态生成配置文件

  1. 提取配置到Vercel环境变量
    本地打开aws-exports.js,将所有配置项转为Vercel环境变量,前缀统一用REACT_APP_(React会自动注入这类变量):

    • REACT_APP_AWS_PROJECT_REGION → 对应aws_project_region的值
    • REACT_APP_AWS_COGNITO_IDENTITY_POOL_ID → 对应aws_cognito_identity_pool_id的值
    • 按此格式添加所有需要的配置项
  2. 手动创建aws-exports.ts
    在项目中新建该文件,从环境变量读取配置:

    export default {
      aws_project_region: process.env.REACT_APP_AWS_PROJECT_REGION,
      aws_cognito_identity_pool_id: process.env.REACT_APP_AWS_COGNITO_IDENTITY_POOL_ID,
      // 补充所有需要的Amplify配置项
    };
    

    替换项目中所有导入../aws-exports的路径为这个新文件。

注意事项

  • 方案一中的IAM用户需配置最小权限,仅授予Amplify资源的读取权限,降低密钥泄露风险
  • 方案二中需确保所有Amplify功能依赖的配置项都已覆盖,否则会导致功能异常
  • 本地可先执行npm run prebuild或amplify pull验证配置生成是否正常,再推送代码触发Vercel构建

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 15:20:29