【问题标题】:Gatsby local build different from AWS Amplify build?Gatsby 本地构建与 AWS Amplify 构建不同?
【发布时间】:2022-08-05 14:14:24
【问题描述】:

我有一个 Gatsby 站点,当我在 localhost 上构建和提供服务时,它运行得非常好,但是当我推送代码并检查我的 AWS Amplify 网站(正在跟踪 github 存储库)时,它的行为非常不同。例如,在我的本地生产版本中,所有链接都正常工作,并且查看页面源代码显示 HTML。

但是,在我的 Amplify 链接上,只有一些链接路径有效,并且查看页面源代码没有显示任何页面的任何 HTML。我认为在我的本地计算机和 Amplify 上构建它的方式肯定存在某种差异,但我不确定确切的问题出在哪里。

从理论上讲,由于它们都是生产版本而不是开发版本,它们的行为方式应该相同吗?

  • 请提供足够的代码,以便其他人可以更好地理解或重现该问题。

标签: amazon-web-services gatsby aws-amplify


【解决方案1】:

我认为它的方式之间必须存在某种差异 正在我的本地机器和 Amplify 上构建,但我不确定 确切的问题出在哪里。

我也这么认为。这些类型的问题(环境之间的不同行为)通常与 Node 版本有关。因此安装的依赖项版本因环境而异。

在您的情况下,通过运行 node -v 检查当前本地版本并将版本设置为 AWS Amplify(它使用 nvm 底层)。

您可以遵循以下建议的多种方法之一: How to change Node Version in Provision Step in Amplify Console

frontend:
  phases:
    preBuild:
      commands:
        - nvm install 10

10 更改为您的本地版本。

【讨论】:

    【解决方案2】:

    Gatsby 是一个静态站点生成器,如果您将新页面单独添加为 html 链接,则在构建时它将被删除。您需要将它们添加到 pages 文件夹下作为反应组件本身,并使用 gatsby 中的 Link 浏览页面

    【讨论】:

      猜你喜欢
      • 2020-08-30
      • 1970-01-01
      • 2020-10-23
      • 2023-02-02
      • 1970-01-01
      • 2021-06-07
      • 2020-08-06
      • 2019-11-06
      • 2020-10-22
      相关资源
      最近更新 更多