目前,我有两个网站是使用gatsby.js开发的,并已部署到example.com和blog.example.com。我想将blog.example.com的子目录创建到example.com/blog。
有什么方法可以做到不合并两个存储库吗?
答案 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网站,因此某些操作可能无法按您想要的方式工作。例如,在两个站点之间导航时,我认为您将无法使用<Link>
来预取页面。因此,您必须评估自己在拥有单独网站与将网站合并到单个Gatsby网站之间的优缺点。
希望这会有所帮助!