Next.js和aws-使用aws-exports.js扩大部署问题

时间:2020-08-23 22:44:11

标签: deployment next.js aws-amplify

我是Web开发的新手,也是react / next / amplify生态系统的新手,但是我一直在尝试它,而且看起来很棒。我只是在部署应用程序时遇到困难。我不确定这是操作顺序,我不确定初始配置是否正确。

因此,我遵循5-minute tutorial,介绍了如何使用基于git的部署通过aws-amplify设置Next.js(因此没有放大init),然后我开始跟随todo教程进行aws-amplify我之前完成的内容,其中包括aws-exports.js文件。我无法部署它,因为由于无法解析./aws-exports而收到导入错误,这是有道理的,因为它不存在。我最终执行了amplify init并有一个副本,但是发现它在.gitignore文件中,因此当我尝试部署时它仍然失败。我从.gitignore中取出它来查看并确保成功构建。

在我看来,这是错误的,因为如果不应该这么做,为什么会出现在.gitignore中呢? 我发现this post表示该信息很敏感,但文档中另有说明。

此文件由Amplify JavaScript库用于 组态。它包含非敏感信息,仅 来自客户端的未经身份验证的外部操作所必需的(例如 用户注册或登录流程(对于Auth)或 在获得授权后构造适当的端点URL 地方。

那么,我可以将此文件保留在.gitignore之外吗?有一个更好的方法吗?我遇到了相同的问题,并以相同的方式解决了将其部署到Vercel的问题,这可能是我首选的lambda函数集成轻松部署方法(如​​果这对答案很重要)。

感谢您的任何输入。

1 个答案:

答案 0 :(得分:0)

很抱歉,晚会很晚,我不同意doc指出aws-exports.js不敏感的文档,​​如果您查看该文件,它只会束缚端点,没有任何真正使您能够“入侵” ”,除非您没有正确配置@auth指令。但是,我理解您的担忧,并且我不喜欢端点在单个文件中公开给客户端的样式,但是最终它们会从网络选项卡或您引用端点的代码中公开给用户。

在您的.gitignore中包括aws-exports.js的一个很好的理由是,您不想处理git中的冲突,因为该文件将在构建时自动生成。

如果您使用服务器端呈现,就好像您使用next.js一样,您可以轻松地仅获取客户端所需的内容,因为这是另一个主题,所以我不会涉及。