Comment combiner deux sites Gatsby ensemble
Actuellement, j'ai deux sites développés à l'aide de gatsby.js déployés sur example.com et blog.example.com. Je souhaite créer un sous-répertoire de blog.example.com vers example.com/blog.
Existe-t-il un moyen de le faire sans fusionner les deux référentiels?
Vous pouvez utiliser un préfixe de chemin sur votre site de blog Gatsby pour tout mettre sur / blog
Voir: https://www.gatsbyjs.org/docs/path-prefix/
Fondamentalement, ajoutez le préfixe de chemin à gatsby-config.js
:
module.exports = {
pathPrefix: `/blog`,
}
Ajoutez ensuite --prefix-paths
à tous vos scripts:
"build": "gatsby build --prefix-paths",
"serve": "gatsby serve --prefix-paths",
Maintenant que votre site principal Gatsby est sur /
et que votre site de blog Gatsby est préfixé par /blog
, la question est de savoir comment déployer ces deux sites distincts sur un hôte. Vous pouvez créer un script de déploiement qui effectue les opérations suivantes:
- Construire le site principal de Gatsby
- Créer un site de blog Gatsby (avec
--prefix-paths
) - Copier le contenu du
/public
blog Gatsby vers/public/blog
dans Gatsby main - Déployer vers l'hébergement depuis Gatsby Main
Gardez à l'esprit que vous aurez créé deux sites Gatsby distincts sur le même hôte, de sorte que certaines choses peuvent ne pas fonctionner comme vous le souhaitez. Par exemple, je ne pense pas que vous serez en mesure de pré-récupérer des pages en utilisant <Link>
lors de la navigation entre les deux sites. Vous devrez donc évaluer vos propres avantages / inconvénients entre avoir des sites séparés et combiner les sites dans un seul site Gatsby.
J'espère que cela t'aides!