pages/_document.js > components/Document.js
pages/_error.js > components/Error.js
上記のどちらも_pages_ではありません—それらは特別な_components_です。 誰もがcomponents
フォルダーをpages
と一緒に持つという慣習を採用しているので、それらをここに移動して、これらが使用される_予約済み_コンポーネント名であることを文書化する方がはるかに優れた「より正確な」IMOになります。次へ。
pages
で_all_ JSファイルを読み取ることができ、これらの特殊なケースを除外する必要がないため、これはすっきりしていて、コードの分割とバンドルのロジックを簡素化すると思います。 それはまた、ファイルという名前の少し醜いアンダースコアを根絶するでしょう...それは私の意見です!
ありがとう。 有効なポイントを獲得しました。
しかし、短期的には、それを変更するつもりはありません。
2.0.0
が間もなくリリースされるので、このような画期的な変更を導入する良い機会かもしれないと思いました。 両方のオプションのサポートを提供し、 pages/_document.js
とpages/_error.js
を使用しているユーザーに警告を記録して、ファイルを移動して名前を変更するようにアドバイスできませんか? そうすれば、それは何も壊さないでしょうが、人々が移住することを可能にするでしょう。
このPRhttps://github.com/zeit/next.js/pull/936を読んだだけで、$ pagesDirectory
と同じように、この提案をnext.config.js
オブジェクトで処理することもできます。
documentComponent
やerrorComponent
のような別の小道具を渡すことができます:
// next.config.js
module.exports = {
pagesDirectory: 'views',
documentComponent: 'components/Document.js',
errorComponent: 'components/Error.js'
}
最も参考になるコメント
このPRhttps://github.com/zeit/next.js/pull/936を読んだだけで、$
pagesDirectory
と同じように、この提案をnext.config.js
オブジェクトで処理することもできます。documentComponent
やerrorComponent
のような別の小道具を渡すことができます: