Gatsby: [1.0] Início do projeto - Estrutura da Solução

Criado em 24 abr. 2017  ·  1Comentário  ·  Fonte: gatsbyjs/gatsby

Olá equipe Gatsby,

Para começar minha exploração, configurei um projeto a seguir sem executá-lo. Até agora, ele apenas representa o esqueleto dele. As perguntas são contra a estrutura de pastas que coloquei na captura de tela seguinte do meu VSCode.
solution-questions

  1. Por favor, confirme, data é o diretório onde posso baixar meu conteúdo contentful como etapa de pré-compilação.

    • Minha ideia é baixar conteúdo de texto em JSON e imagens do CMS / DMS que não mudam com frequência. Por exemplo, artigo, página de detalhes do produto etc.,

  2. Baixarei os dados em várias pastas separadas para diferentes seções do site, mas, para confirmar, posso usar essas fontes de dados da seguinte maneira.
    multiple-filesource
  3. Utils na raiz no seu exemplo de gatsbygram, é a pasta onde podemos colocar o utilitário JavaScript que pode ser chamado a partir do Node em tempo de compilação.
  4. Para definir componentes, o que você recomenda, por exemplo, usar React BootStrap Components ou criar seus próprios componentes atômicos para seguir o princípio de design Atomic?
  5. É uma boa ideia criar componentes compostos usando os componentes atômicos acima com outros componentes disponíveis ao público, se necessário?
  6. Como o próprio nome já diz, default.js é layout, mas na verdade você pode definir sua estrutura HTML geral em html.js também, então por que precisamos da pasta de layout, ou eu perdi algo aqui?
  7. Diretório de páginas, embora simples, que converterá seus arquivos aqui para páginas HTML diretamente no build. Mas eu tenho mais perguntas sobre isso.
    uma. Na captura de tela acima, tips-and-articles.js se transformarão em uma página html. Mas e se eu quiser mais páginas abaixo da estrutura de URL, como www.abc.com/en-us/tips-and-articles/how-to-do-this .
    b. E se eu quiser gerar todo o IA (arquitetura de informação ou hierarquia de páginas do site) usando CMS onde o autor do negócio pode definir as próprias páginas no CMS.
    c. E se eu quiser localizar essas páginas amanhã, onde as páginas agora estão em www.abc.com/fr-fr/Conseils-et-articles/how-to-do-ce.
  8. Em seu exemplo do Gatsbygram, você mostra as postagens do Instagram em um diálogo modal, e se eu quiser cada uma delas como páginas individuais para SEO e melhor propósito de rastreamento. Como vou gerar essas páginas, usando modelos?
  9. Qual é o uso da pasta utils em SRC além de manter o par de valores-chave ou a declaração CSS.
  10. Você usou CSS inline em todos os casos, sabemos que é bom para CSS crítico, mas você não vê a implementação de CSS baseada em classes usuais em componentes que usam o modelo PostCSS ou SaSS.
  11. Inspirando-se em seu scrape.js, será usado para gerar e baixar conteúdo do Contentful.
  12. Seria ótimo se alguém explicasse em detalhes cada um dos arquivos destacados no ponto 12 na captura de tela acima.

Comentários muito úteis

Respostas abaixo:

1) parece razoável. Você decide onde colocar seus dados, mas um diretório chamado data é uma convenção comum.
2) você só precisa da primeira instância do plug-in, pois ele verifica os arquivos recursivamente para que os subdiretórios sejam incluídos.
3) 👍
4) o seu em geral. É difícil construir um design exclusivo para um site se você basear as coisas no bootstrap. Componentes de bootstrap individuais de https://react-bootstrap.github.io/ podem ser úteis.
5) se um componente de código aberto atende às suas necessidades, não consigo ver por que você não o usaria.
6) html.js é para definir tudo fora de <div id="react-mount"></div> . Os componentes de layout são para itens como cabeçalhos e rodapés. Os componentes da página são as entranhas das páginas dentro do cabeçalho / rodapé.
7)
a) basta colocar o arquivo em uma subpasta correspondente ao URL desejado
b / c) as páginas são criadas programaticamente a partir de dados, portanto, há muitas maneiras de realizar essas https://github.com/gatsbyjs/gatsby/issues/421
8) atualizar o site gatsbygram quando uma imagem estiver no modal ;-)
9) a pasta src / utils não é necessária. Eu gosto de usá-los para esconder módulos "utilitários" aleatórios, mas existem outros esquemas de organização.
10) não é realmente um css embutido. Ele está usando uma biblioteca css-in-js chamada Glamour https://github.com/threepointone/glamor que extrai os estilos dos componentes para CSS regular. Há muitas vantagens em css-in-js, mas independentemente, Sass / Less / PostCSS são totalmente suportados e haverá mais exemplos de uso deles no futuro.
11) 👍
12) gatsby-config.js é para configurar Gatsby. gatsby-node / gatsby-browser / gatsby-ssr são para implementar várias APIs Gatsby (conforme necessário) para realizar coisas como, criar páginas, processar dados, por exemplo, para criar slugs, adicionar análises no navegador em alterações de rota, etc.

>Todos os comentários

Respostas abaixo:

1) parece razoável. Você decide onde colocar seus dados, mas um diretório chamado data é uma convenção comum.
2) você só precisa da primeira instância do plug-in, pois ele verifica os arquivos recursivamente para que os subdiretórios sejam incluídos.
3) 👍
4) o seu em geral. É difícil construir um design exclusivo para um site se você basear as coisas no bootstrap. Componentes de bootstrap individuais de https://react-bootstrap.github.io/ podem ser úteis.
5) se um componente de código aberto atende às suas necessidades, não consigo ver por que você não o usaria.
6) html.js é para definir tudo fora de <div id="react-mount"></div> . Os componentes de layout são para itens como cabeçalhos e rodapés. Os componentes da página são as entranhas das páginas dentro do cabeçalho / rodapé.
7)
a) basta colocar o arquivo em uma subpasta correspondente ao URL desejado
b / c) as páginas são criadas programaticamente a partir de dados, portanto, há muitas maneiras de realizar essas https://github.com/gatsbyjs/gatsby/issues/421
8) atualizar o site gatsbygram quando uma imagem estiver no modal ;-)
9) a pasta src / utils não é necessária. Eu gosto de usá-los para esconder módulos "utilitários" aleatórios, mas existem outros esquemas de organização.
10) não é realmente um css embutido. Ele está usando uma biblioteca css-in-js chamada Glamour https://github.com/threepointone/glamor que extrai os estilos dos componentes para CSS regular. Há muitas vantagens em css-in-js, mas independentemente, Sass / Less / PostCSS são totalmente suportados e haverá mais exemplos de uso deles no futuro.
11) 👍
12) gatsby-config.js é para configurar Gatsby. gatsby-node / gatsby-browser / gatsby-ssr são para implementar várias APIs Gatsby (conforme necessário) para realizar coisas como, criar páginas, processar dados, por exemplo, para criar slugs, adicionar análises no navegador em alterações de rota, etc.

Esta página foi útil?
0 / 5 - 0 avaliações