Next.js: pages /_component.jsをcomponents / Component.jsに移動します

作成日 2017年03月17日  ·  3コメント  ·  ソース: vercel/next.js

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

上記のどちらも_pages_ではありません—それらは特別な_components_です。 誰もがcomponentsフォルダーをpagesと一緒に持つという慣習を採用しているので、それらをここに移動して、これらが使用される_予約済み_コンポーネント名であることを文書化する方がはるかに優れた「より正確な」IMOになります。次へ。

pagesで_all_ JSファイルを読み取ることができ、これらの特殊なケースを除外する必要がないため、これはすっきりしていて、コードの分割とバンドルのロジックを簡素化すると思います。 それはまた、ファイルという名前の少し醜いアンダースコアを根絶するでしょう...それは私の意見です!

最も参考になるコメント

このPRhttps://github.com/zeit/next.js/pull/936を読んだだけで、$ pagesDirectoryと同じように、この提案をnext.config.jsオブジェクトで処理することもできます。

documentComponenterrorComponentのような別の小道具を渡すことができます:

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

全てのコメント3件

ありがとう。 有効なポイントを獲得しました。
しかし、短期的には、それを変更するつもりはありません。

2.0.0が間もなくリリースされるので、このような画期的な変更を導入する良い機会かもしれないと思いました。 両方のオプションのサポートを提供し、 pages/_document.jspages/_error.jsを使用しているユーザーに警告を記録して、ファイルを移動して名前を変更するようにアドバイスできませんか? そうすれば、それは何も壊さないでしょうが、人々が移住することを可能にするでしょう。

このPRhttps://github.com/zeit/next.js/pull/936を読んだだけで、$ pagesDirectoryと同じように、この提案をnext.config.jsオブジェクトで処理することもできます。

documentComponenterrorComponentのような別の小道具を渡すことができます:

// next.config.js
module.exports = {
  pagesDirectory: 'views',
  documentComponent: 'components/Document.js',
  errorComponent: 'components/Error.js'
}
このページは役に立ちましたか?
0 / 5 - 0 評価