如何将两个盖茨比网站合并在一起

时间:2019-04-06 16:28:04

标签: gatsby

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

有什么方法可以做到不合并两个存储库吗?

1 个答案:

答案 0 :(得分: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为前缀,问题是如何将这两个单独的站点部署到一个主机上。您可以创建执行以下操作的部署脚本:

  • 建立盖茨比主站点
  • 建立盖茨比博客网站(带有--prefix-paths
  • /public的内容从Gatsby博客复制到Gatsby main中的/public/blog
  • 从Gatsby main部署到托管

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

希望这会有所帮助!