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.
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.
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.