【问题标题】:How to combine two Gatsby sites together如何将两个 Gatsby 站点组合在一起
【发布时间】:2019-04-06 16:28:03
【问题描述】:

目前,我有两个使用 gatsby.js 开发的网站部署到 example.com 和 blog.example.com。我想创建一个 blog.example.com 到 example.com/blog 的子目录。

有没有办法在不合并两个存储库的情况下做到这一点?

【问题讨论】:

标签: gatsby


【解决方案1】:

您可以在 Gatsby 博客站点上使用路径前缀将所有内容放在 /blog 上

见:https://www.gatsbyjs.org/docs/path-prefix/

基本上,将路径前缀添加到gatsby-config.js:

module.exports = {
  pathPrefix: `/blog`,
}

然后将--prefix-paths 添加到所有脚本中:

"build": "gatsby build --prefix-paths",
"serve": "gatsby serve --prefix-paths",

现在您的 Gatsby 主站点位于 / 并且您的 Gatsby 博客站点以 /blog 为前缀,问题是如何将这两个单独的站点部署到一个主机上。您可以创建一个执行以下操作的部署脚本:

  • 构建 Gatsby 主站点
  • 构建 Gatsby 博客网站(使用 --prefix-paths
  • /public 的内容从 Gatsby 博客复制到 Gatsby 主目录中的 /public/blog
  • 从 Gatsby main 部署到主机

请记住,您将在同一主机上创建两个独立的 Gatsby 站点,因此有些事情可能无法按您希望的方式运行。例如,我认为您在两个站点之间导航时无法使用<Link> 预取页面。因此,您必须评估自己在拥有单独的网站与将这些网站合并到一个 Gatsby 网站之间的优缺点。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2020-05-31
    • 2011-07-22
    • 1970-01-01
    • 2022-01-11
    • 2016-07-13
    • 1970-01-01
    • 1970-01-01
    • 2022-06-30
    • 2013-09-05
    相关资源
    最近更新 更多