pages/_document.js > components/Document.js
pages/_error.js > components/Error.js
Keine der oben genannten Seiten sind _Seiten_ – sie sind spezielle _Komponenten_. Da jeder die Konvention annimmt, einen components
Ordner neben pages
zu haben, wäre es meiner Meinung nach viel schöner und "korrekter", sie hierher zu verschieben und zu dokumentieren, dass dies _reservierte_ Komponentennamen sind, die verwendet werden von Next.
Ich denke, das ist sowohl ordentlicher als auch vereinfacht Ihre Code-Splitting- und Bündelungslogik, da Sie _alle_ JS-Dateien in pages
lesen können und diese Sonderfälle nicht herausfiltern müssen. Es würde auch den etwas hässlichen Unterstrich mit dem Namen Datei auslöschen ... das ist jedoch nur meine Meinung!
Danke. Sie haben einen gültigen Punkt.
Aber kurzfristig werden wir daran nichts ändern.
Da 2.0.0
bald veröffentlicht wird, dachte ich, es wäre eine gute Gelegenheit, eine bahnbrechende Änderung wie diese einzuführen. Könnten Sie nicht beide Optionen unterstützen und eine Warnung für diejenigen protokollieren, die pages/_document.js
und pages/_error.js
verwenden, und ihnen raten, ihre Dateien zu verschieben und umzubenennen? Auf diese Weise würde es nichts kaputt machen, aber den Menschen die Migration ermöglichen.
Nachdem Sie gerade diese PR https://github.com/zeit/next.js/pull/936 gelesen haben, könnte dieser Vorschlag auch im next.config.js
-Objekt angegangen werden, genau wie pagesDirectory
.
Sie könnten ein paar weitere Requisiten wie documentComponent
und errorComponent
übergeben:
// next.config.js
module.exports = {
pagesDirectory: 'views',
documentComponent: 'components/Document.js',
errorComponent: 'components/Error.js'
}
Hilfreichster Kommentar
Nachdem Sie gerade diese PR https://github.com/zeit/next.js/pull/936 gelesen haben, könnte dieser Vorschlag auch im
next.config.js
-Objekt angegangen werden, genau wiepagesDirectory
.Sie könnten ein paar weitere Requisiten wie
documentComponent
underrorComponent
übergeben: