【问题标题】:Next.js and aws-amplify deployment problem with aws-exports.jsNext.js 和 aws-amplify 与 aws-exports.js 的部署问题
【发布时间】:2020-08-23 22:44:11
【问题描述】:

我是 web 开发和 react/next/amplify 生态系统的新手,但我一直在玩它,它看起来很棒。我只是在部署我的应用程序时遇到了困难。这似乎是一个操作顺序的事情,我可能在初始配置中做错了,我不确定。

所以我按照5-minute tutorial 介绍了如何使用基于 git 的部署(所以没有放大初始化)设置 Next.js之前已完成,其中包括 aws-exports.js 文件。我无法部署它,因为由于无法解析 ./aws-exports 而出现导入错误,这是有道理的,因为它不存在。我最终执行了amplify init 并有一个副本,但发现它在.gitignore 文件中,所以当我尝试部署时它仍然失败。我将它从我的.gitignore 中取出,只是为了查看并成功构建。

这对我来说似乎是错误的,因为如果它不应该出现在 .gitignore 中,那它为什么会出现在 .gitignore 中? 我发现this post 说该信息是敏感信息,但文档中另有说明。

此文件由 Amplify JavaScript 库用于 配置。它包含非敏感且仅 来自客户端的未经身份验证的外部操作(例如 在 Auth 的情况下用户注册或登录流程)或 授权后构建适当的端点 URL 地点。

那么,我可以将此文件从 .gitignore 中删除吗?有一个更好的方法吗?我遇到了同样的问题,并以部署到 Vercel 的相同方式解决了它,这可能是我首选的简单 lambda 函数集成的部署方法(如​​果这对答案很重要)。

感谢您的任何意见。

【问题讨论】:

  • 你能在AWS amplify deploy failure due to aws-exports查看我的答案吗?我相信它可能是相关的,你不应该暴露你的 aws-exports 而是在放大运行时生成它。
  • @PedroFratteziSilva 我看过你的帖子,甚至链接到它。我看到您说不应公开 aws-exports,但文档指出该信息是不敏感的。另外,如果我想托管在 Vercel 等不同的服务上?我不应该能够使用安全/api并部署在不同的服务上,那么它将永远无法生成该文件。感谢您的意见。

标签: deployment next.js aws-amplify


【解决方案1】:

抱歉,聚会迟到了,我不同意那个声明 aws-exports.js 不敏感的文档,​​如果你查看那个文件,它只是一堆端点,没有什么能让你“破解”到系统,除非您没有正确配置 @auth 指令。但我理解您的担忧,我不喜欢端点在单个文件中向客户端公开的样式,但它们最终会通过网络选项卡或您引用端点的代码向用户公开。

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

如果你使用服务器端渲染,好像你在使用next.js,你可以很容易地只公开客户端需要的东西,我不会进入它,因为这是另一个话题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 2020-08-18
    • 1970-01-01
    • 2022-11-07
    • 2021-02-17
    • 2020-08-14
    • 1970-01-01
    相关资源
    最近更新 更多