Gatsby: [1.0] Démarrage du projet - Structure de la solution

Créé le 24 avr. 2017  ·  1Commentaire  ·  Source: gatsbyjs/gatsby

Salut l'équipe Gatsby,

Pour commencer mon exploration, j'ai configuré un projet suivant sans l'exécuter. Jusqu'à présent, cela n'en représente que le squelette. La question est contre la structure de dossiers que j'ai mise dans la capture d'écran suivante de mon VSCode.
solution-questions

  1. Veuillez confirmer, les données sont le répertoire où je peux télécharger mon contenu à partir de contentful comme étape de pré-compilation ?

    • Mon idée est de télécharger du contenu texte en JSON et des images à partir de CMS/DMS qui ne changent pas souvent. Par exemple, article, page de détail du produit, etc.,

  2. Je vais télécharger les données dans plusieurs dossiers séparés pour différentes sections du site, mais pour confirmer que je peux utiliser ces sources de données comme suit.
    multiple-filesource
  3. Utils à la racine de votre exemple gatsbygram, est un dossier où nous pouvons mettre l'utilitaire JavaScript qui peut être appelé à partir de Node au moment de la compilation.
  4. Pour définir des composants, que recommandez-vous par exemple en utilisant React BootStrap Components, ou en créant vos propres composants atomiques pour suivre le principe de conception atomique ?
  5. Est-ce une bonne idée de créer des composants composites en utilisant les composants atomiques ci-dessus avec d'autres composants disponibles publiquement si nécessaire ?
  6. Comme son nom l'indique, default.js est une mise en page, mais en fait, vous pouvez également définir votre structure HTML globale dans html.js, alors pourquoi avons-nous besoin d'un dossier de mise en page, ou je manque quelque chose ici ?
  7. Répertoire de pages bien que simple qui convertira vos fichiers ici en pages HTML directement lors de la construction. Mais j'ai plus de questions là-dessus.
    une. Dans la capture d'écran ci-dessus, tips-and-articles.js se transformera en page html. Mais que se passe-t-il si je veux aller plus loin dans la structure de l'URL comme
    b. Que faire si je veux générer l'ensemble de l'IA (architecture de l'information ou hiérarchie des pages du site Web) à l'aide d'un CMS où l'auteur métier peut définir les pages lui-même dans le CMS.
    c. Et si je voulais localiser ces pages demain là où se trouvent désormais les pages dans www.abc.com/fr-fr/Conseils-et-articles/how-to-do-ce.
  8. Dans votre exemple Gatsbygram, vous affichez les publications Instagram dans une boîte de dialogue modale, et si je les veux comme pages individuelles pour le référencement et un meilleur suivi. Comment vais-je générer ces pages, en utilisant des modèles ?
  9. Quelle est l'utilisation du dossier utils sous SRC au-delà du maintien de la paire clé-valeur ou de la déclaration CSS.
  10. Vous avez utilisé des CSS en ligne dans tous les cas, nous savons que c'est bon pour les CSS critiques, mais ne voyez-vous pas l'implémentation CSS habituelle basée sur les classes dans les composants utilisant le modèle PostCSS ou SaSS.
  11. S'inspirant de votre scrape.js, il sera utilisé pour générer et télécharger du contenu à partir de Contentful.
  12. Ce serait formidable si quelqu'un expliquait en détail chacun des fichiers mis en évidence au point 12 de la capture d'écran ci-dessus.

Commentaire le plus utile

Réponses ci-dessous :

1) semble raisonnable. L'endroit où vous mettez vos données dépend entièrement de vous, mais un répertoire nommé data est une convention courante.
2) vous n'avez besoin que de la première instance du plugin car il recherche les fichiers de manière récursive afin que les sous-répertoires soient inclus.
3)
4) le vôtre en général. Il est difficile de créer un design unique pour un site si vous basez les choses sur bootstrap. Les composants d'amorçage individuels de https://react-bootstrap.github.io/ pourraient être utiles.
5) si un composant open source répond à vos besoins, vous ne voyez pas pourquoi vous ne l'utiliseriez pas.
6) html.js sert à tout définir en dehors de <div id="react-mount"></div> . Les composants de mise en page sont destinés à des éléments tels que les en-têtes et les pieds de page. Les composants de la page sont destinés aux entrailles des pages à l'intérieur de l'en-tête/pied de page.
7)
a) il suffit de mettre le fichier dans un sous-dossier correspondant à l'URL souhaitée
b/c) les pages sont créées par programmation à partir de données, il existe donc de nombreuses façons de les accomplir https://github.com/gatsbyjs/gatsby/issues/421
8) rafraîchir le site gatsbygram quand une image est dans le modal ;-)
9) le dossier src/utils n'est pas requis. J'aime les utiliser pour ranger des modules "utilitaires" aléatoires, mais il existe d'autres schémas d'organisation.
10) ce n'est pas vraiment du css en ligne. Il utilise une bibliothèque css-in-js appelée Glamour https://github.com/threepointone/glamour qui extrait les styles des composants en CSS standard. Il y a beaucoup d'avantages à css-in-js mais peu importe, Sass/Less/PostCSS sont entièrement pris en charge et il y aura plus d'exemples d'utilisation de ceux-ci à l'avenir.
11)
12) gatsby-config.js sert à configurer Gatsby. gatsby-node/gatsby-browser/gatsby-ssr sont destinés à la mise en œuvre de diverses API Gatsby (au besoin) pour accomplir des tâches telles que la création de pages, le traitement de données, par exemple pour créer des slugs, l'ajout d'analyses dans le navigateur sur les changements d'itinéraire, etc.

>Tous les commentaires

Réponses ci-dessous :

1) semble raisonnable. L'endroit où vous mettez vos données dépend entièrement de vous, mais un répertoire nommé data est une convention courante.
2) vous n'avez besoin que de la première instance du plugin car il recherche les fichiers de manière récursive afin que les sous-répertoires soient inclus.
3)
4) le vôtre en général. Il est difficile de créer un design unique pour un site si vous basez les choses sur bootstrap. Les composants d'amorçage individuels de https://react-bootstrap.github.io/ pourraient être utiles.
5) si un composant open source répond à vos besoins, vous ne voyez pas pourquoi vous ne l'utiliseriez pas.
6) html.js sert à tout définir en dehors de <div id="react-mount"></div> . Les composants de mise en page sont destinés à des éléments tels que les en-têtes et les pieds de page. Les composants de la page sont destinés aux entrailles des pages à l'intérieur de l'en-tête/pied de page.
7)
a) il suffit de mettre le fichier dans un sous-dossier correspondant à l'URL souhaitée
b/c) les pages sont créées par programmation à partir de données, il existe donc de nombreuses façons de les accomplir https://github.com/gatsbyjs/gatsby/issues/421
8) rafraîchir le site gatsbygram quand une image est dans le modal ;-)
9) le dossier src/utils n'est pas requis. J'aime les utiliser pour ranger des modules "utilitaires" aléatoires, mais il existe d'autres schémas d'organisation.
10) ce n'est pas vraiment du css en ligne. Il utilise une bibliothèque css-in-js appelée Glamour https://github.com/threepointone/glamour qui extrait les styles des composants en CSS standard. Il y a beaucoup d'avantages à css-in-js mais peu importe, Sass/Less/PostCSS sont entièrement pris en charge et il y aura plus d'exemples d'utilisation de ceux-ci à l'avenir.
11)
12) gatsby-config.js sert à configurer Gatsby. gatsby-node/gatsby-browser/gatsby-ssr sont destinés à la mise en œuvre de diverses API Gatsby (au besoin) pour accomplir des tâches telles que la création de pages, le traitement de données, par exemple pour créer des slugs, l'ajout d'analyses dans le navigateur sur les changements d'itinéraire, etc.

Cette page vous a été utile?
0 / 5 - 0 notes