是否应忽略amplify_outputs.json?React Amplify部署构建报错求助
解决Amplify部署时找不到amplify_outputs.json的问题
核心原则
绝对不要把amplify_outputs.json提交到版本控制,它包含敏感的认证配置信息(比如user_pool_client_id),必须保留在.gitignore中。部署时这个文件应该由Amplify云端环境自动生成,而非依赖本地文件。
具体修复步骤
1. 检查Amplify控制台的构建流程
如果使用AWS Amplify托管你的项目:
- 进入Amplify控制台的项目构建设置,确认构建命令包含Amplify的初始化步骤。通常正确的构建命令序列应该是:
npm install amplify pull --appId YOUR_APP_ID --envName YOUR_ENV_NAME npm run build - 确保Amplify控制台已经关联了你的后端环境,这样在构建时会自动拉取云端配置并生成
amplify_outputs.json。
2. 解决TypeScript类型报错
找不到类型声明是因为这个文件是自动生成的,没有对应的.d.ts文件,你可以手动创建类型声明:
- 在项目根目录创建
amplify_outputs.d.ts文件,内容示例:declare module '../amplify_outputs.json' { export default { auth: { userPoolId: string; userPoolClientId: string; region: string; }, // 根据你的实际配置添加其他字段 }; } - 或者在导入时临时使用
any类型(不推荐长期使用):import outputs from '../amplify_outputs.json' as any;
3. 本地开发验证
本地开发时,执行amplify pull命令会自动生成最新的amplify_outputs.json,确保本地开发和云端配置同步。
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

