J'ai construit un site Web de Gatsby, mais lorsque j'essaie de l'utiliser hors ligne (en chargement directement index.html dans mon navigateur), il ne charge pas de charger les fichiers dans le dossier d'actifs et que des liens vers d'autres pages échouent
Courir sous Windows:
Après avoir installé Gatsby, j'ai fait ce qui suit: p> puis je suis allé à l'explorateur de fichier et ouvert le répertoire d'échantillon / dist et double cliqué sur index.html (chrome est mon navigateur par défaut , mais c'est-à-dire la même chose) p> Le résultat est une page Web à moitié chargée qui manque les feuilles de style, JavaScript, images et liens sont cassées. P> par exemple, le " À propos de "lien sur la première page pointe sur" D: / à propos "vs.". \ environ.html ". P> est là pour faire du travail Gatsby pour créer un site Web vraiment hors ligne? p> p>
3 Réponses :
Essayez d'utiliser Regarde-le sur les documents de Gatsby CLI sur leur site. P> Gatsby servir code> de la racine de votre projet. SERVOIS SERVOIR UN SERVER Web pour servir votre production Prod. P>
J'ai construit un site Web de Gatsby, mais lorsque j'essaie de l'utiliser hors ligne (en chargement directement index.html dans mon navigateur), il ne charge pas de charger les fichiers du dossier d'actifs et que des liens vers d'autres pages échouent p> blockQuote>
Gatsby créera une application réagissante pour vous lorsqu'elle est construite et que la plupart des applications réagissantes utilisent un routage côté client, vos liens ne fonctionneront pas avec le fichier: // URL. P>
Après avoir installé le Gatsby CLI et construire votre site avec
Gatsby Construire code> Vous devez exécuter
Gatsby SERVER code> qui servira
index.html code> avec un serveur de fichiers statique sur votre propre ordinateur. P>
Voir une réponse similaire sur Create-React-app ici P>
Gatsby n'est pas vraiment mis en place pour faire cela, malheureusement. C'est un générateur em> Site em>, pas page em> générateur, et il s'attend à vivre sur un serveur. Le résultat est que, si les fichiers sont statiques, la navigation n'est pas em>. p>
Parce que j'ai passé du temps à expérimenter, c'est ce qui ne fonctionne pas: p>
paramètre Réglage du chemin absolu du fichier sur disque comme pathprefix. strong> identique que ci-dessus - Réglage de la pathprefix sur une valeur FONGUS comme Quelque chose que je n'ai pas essayé mais que je pourrais vous obtenir quelque part, serait de désactiver la fonctionnalité de l'application à la page unique. C'est possible, aurait , (Ou peut-être avec ce plugin? ) mais pas de bonne étape par étape Instructions n'importe où. P> . code> comme pathprefix dans
gatsby-config.js code>. strong> Gatsby vous permet de définir PHOW PREFIX , qu'il réduit ensuite à toutes les URL générées. Malheureusement, ce préfixe est toujours "absolutilisé" d'une manière ou d'une autre.
. code> est converti en
/. code>, par exemple. p>
fichier: /// chemin / fichier / fichier code> ne survive pas à la construction ( Résultats dans
fichier: / code>) et
/ chemin / vers / fichier code> casse le javascript. p>
/ notaprefix CODE> et de la recherche-la remplaçant dans les fichiers générés. strong> casse le JavaScript, à nouveau. P>