如何用Amplify部署Angular前端+Node.js后端并适配数据库?
关于Amplify部署前后端及数据存储的问题解答
1. 能否通过Amplify同时部署前后端?
可以。Amplify支持全栈部署:
- 前端继续用Amplify Hosting托管,保持现有部署流程即可。
- 后端Node.js服务有两种部署方式可选:
- Amplify Functions:把后端逻辑封装为Lambda函数,通过Amplify CLI添加到项目中,自动配置API网关供前端调用。
- Amplify Hosting后端部署:将后端代码纳入Amplify项目仓库,配置构建命令(比如
npm install && npm start),Amplify会自动部署后端服务并提供可访问的API地址,前端直接调用该地址就能完成关联。
2. 能否按现有结构存储数据?
可以。你提到的“Amplify无对象/数组数据类型”是误解——Amplify DataStore(基于DynamoDB)支持嵌套对象(Map类型)和数组结构。针对你的数据结构,只需在GraphQL schema中定义对应的嵌套类型即可:
type Valor { valor: Float! } type Debito { masterCard: Valor! visa: Valor! outros: Valor! } type Transaction @model { key: String! tableName: String! debito: Debito! }
定义完成后,Amplify会自动生成对应的存储操作代码,完全匹配你现有的数据结构进行存储和查询。
3. 若偏好使用MongoDB,是否可行?
完全可行。Amplify不强制使用自带的数据存储服务,你可以继续沿用MongoDB:
- 将Node.js后端部署到Amplify(Functions或Hosting均可),后端代码保持原有的MongoDB连接逻辑(比如通过MongoDB Atlas连接云数据库)。
- 前端通过Amplify部署后,直接调用后端提供的API接口,就能实现对MongoDB的数据操作,全程无需依赖Amplify自带的存储服务。
内容的提问来源于stack exchange,提问作者GusMFSCoder
相关产品推荐
相关产品推荐

