💡
原文英文,约300词,阅读约需1分钟。
📝
内容提要
在将NextJS部署到AWS Amplify时,MONGODB_URI环境变量读取为'undefined',而其他公共变量正常。通过在amplify.yml中动态创建.env.production文件并添加MONGODB_URI,最终解决了问题。公共变量可直接获取,安全变量需手动添加。
🎯
关键要点
- 在将NextJS部署到AWS Amplify时,MONGODB_URI环境变量读取为'undefined'。
- 其他公共环境变量正常读取,但安全变量需手动添加。
- 应用程序通过API从MongoDB进行文本搜索,使用mongoose.connect连接数据库。
- 尝试在next.config.ts文件中添加MONGODB_URI,但存在安全隐患。
- 最终通过在amplify.yml中动态创建.env.production文件并添加MONGODB_URI解决了问题。
- 只有以NEXT_PUBLIC开头的公共环境变量可以在构建时直接从Amplify获取。
❓
延伸问答
在将Next.js部署到AWS Amplify时,MONGODB_URI环境变量出现了什么问题?
MONGODB_URI环境变量在部署后读取为'undefined',而其他公共变量正常。
如何解决Next.js在AWS Amplify中MONGODB_URI读取为'undefined'的问题?
通过在amplify.yml中动态创建.env.production文件并添加MONGODB_URI解决了问题。
公共环境变量和安全环境变量在AWS Amplify中的处理有什么不同?
公共变量可以直接获取,而安全变量需手动添加到.env.production文件中。
在next.config.ts文件中添加MONGODB_URI有什么安全隐患?
将MONGODB_URI添加到next.config.ts文件会暴露数据库连接给公众,存在安全风险。
为什么只有以NEXT_PUBLIC开头的环境变量可以在Amplify构建时直接获取?
只有以NEXT_PUBLIC开头的公共环境变量在构建时可以直接从Amplify获取,而安全变量需要手动添加。
在AWS Amplify中,如何通过API连接MongoDB?
应用程序通过API使用mongoose.connect函数连接MongoDB进行文本搜索。
🏷️
标签
➡️