Next.js: Mover pages/_component.js para components/Component.js

Criado em 17 mar. 2017  ·  3Comentários  ·  Fonte: vercel/next.js

  • pages/_document.js > components/Document.js
  • pages/_error.js > components/Error.js

Nenhum dos itens acima são _pages_ — eles são _components_ especiais. Como todos adotam a convenção de ter uma pasta components ao lado pages , seria muito melhor e "mais correto" IMO movê-los aqui e documentar que esses são nomes de componentes _reservados_ que são usados por Próximo.

Eu acho que isso é mais simples e simplificará sua lógica de divisão e agrupamento de código, já que você pode ler _all_ arquivos JS em pages e não precisa filtrar esses casos especiais. Também erradicaria o arquivo nomeado de sublinhado um pouco feio ... essa é apenas a minha opinião!

Comentários muito úteis

Tendo acabado de ler este PR https://github.com/zeit/next.js/pull/936 , esta proposta também poderia ser abordada no objeto next.config.js assim como pagesDirectory .

Você pode passar outros adereços como documentComponent e errorComponent :

// next.config.js
module.exports = {
  pagesDirectory: 'views',
  documentComponent: 'components/Document.js',
  errorComponent: 'components/Error.js'
}

Todos 3 comentários

Obrigado. Você tem um ponto válido.
Mas, a curto prazo, não vamos mudá-lo.

Com 2.0.0 sendo lançado em breve, pensei que poderia ser uma boa oportunidade para introduzir uma mudança inovadora como essa. Você não poderia fornecer suporte para ambas as opções e registrar um aviso para aqueles que usam pages/_document.js e pages/_error.js , aconselhando-os a mover e renomear seus arquivos? Dessa forma, não quebraria nada, mas permitiria que as pessoas migrassem.

Tendo acabado de ler este PR https://github.com/zeit/next.js/pull/936 , esta proposta também poderia ser abordada no objeto next.config.js assim como pagesDirectory .

Você pode passar outros adereços como documentComponent e errorComponent :

// next.config.js
module.exports = {
  pagesDirectory: 'views',
  documentComponent: 'components/Document.js',
  errorComponent: 'components/Error.js'
}
Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

formula349 picture formula349  ·  3Comentários

pie6k picture pie6k  ·  3Comentários

swrdfish picture swrdfish  ·  3Comentários

knipferrc picture knipferrc  ·  3Comentários

flybayer picture flybayer  ·  3Comentários