Next.js: Déplacer pages/_component.js vers components/Component.js

Créé le 17 mars 2017  ·  3Commentaires  ·  Source: vercel/next.js

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

Ni l'un ni l'autre des éléments ci-dessus ne sont des _pages_ — ce sont des _composants_ spéciaux. Étant donné que tout le monde adopte la convention d'avoir un dossier components côté pages , il serait beaucoup plus agréable et "plus correct" IMO de les déplacer ici et de documenter que ce sont des noms de composants _réservés_ qui sont utilisés par Suivant.

Je pense que c'est à la fois plus propre et simplifiera votre logique de fractionnement et de regroupement de code, puisque vous pouvez lire _tous_ les fichiers JS dans pages et ne pas avoir à filtrer ces cas particuliers. Cela éliminerait également le fichier nommé légèrement laid souligné ... c'est juste mon opinion cependant!

Commentaire le plus utile

Après avoir lu ce PR https://github.com/zeit/next.js/pull/936 , cette proposition pourrait également être abordée dans l'objet next.config.js tout comme pagesDirectory l'a été.

Vous pouvez passer un autre couple d'accessoires comme documentComponent et errorComponent :

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

Tous les 3 commentaires

Merci. Vous avez un point valide.
Mais à court terme, nous n'allons pas le changer.

Avec la sortie prochaine 2.0.0 , j'ai pensé que ce pourrait être une bonne occasion d'introduire un changement de rupture comme celui-ci. Ne pourriez-vous pas fournir un support pour les deux options et enregistrer un avertissement à ceux qui utilisent pages/_document.js et pages/_error.js , leur conseillant de déplacer et de renommer leurs fichiers ? De cette façon, cela ne casserait rien mais permettrait aux gens de migrer.

Après avoir lu ce PR https://github.com/zeit/next.js/pull/936 , cette proposition pourrait également être abordée dans l'objet next.config.js tout comme pagesDirectory l'a été.

Vous pouvez passer un autre couple d'accessoires comme documentComponent et errorComponent :

// next.config.js
module.exports = {
  pagesDirectory: 'views',
  documentComponent: 'components/Document.js',
  errorComponent: 'components/Error.js'
}
Cette page vous a été utile?
0 / 5 - 0 notes