Next.js: انقل الصفحات / _component.js إلى المكونات / Component.js

تم إنشاؤها على ١٧ مارس ٢٠١٧  ·  3تعليقات  ·  مصدر: vercel/next.js

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

ليست أيًا مما ورد أعلاه _ صفحات _ —فهي _ مكونات _ خاصة. نظرًا لأن الجميع يتبنى اصطلاحًا بامتلاك مجلد components بجانب pages ، فسيكون من الأجمل والأكثر صحة من IMO نقلها هنا وتوثيق أن هذه الأسماء _المحجوزة_المستخدمة من قبل.

أعتقد أن هذا أكثر إتقانًا وسيعمل على تبسيط منطق تقسيم وتجميع الكود ، حيث يمكنك قراءة _ all_ ملفات JS في pages وليس عليك تصفية هذه الحالات الخاصة. سيؤدي ذلك أيضًا إلى القضاء على ملف الشرطة السفلية القبيح قليلاً ... هذا رأيي فقط!

التعليق الأكثر فائدة

بعد قراءة هذا PR https://github.com/zeit/next.js/pull/936 ، يمكن أيضًا معالجة هذا الاقتراح في كائن next.config.js تمامًا مثل pagesDirectory .

يمكنك تمرير زوجين آخرين من الدعائم مثل documentComponent و errorComponent :

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

ال 3 كومينتر

شكرا. لقد حصلت على نقطة صحيحة.
لكن على المدى القصير ، لن نغيره.

مع إصدار 2.0.0 قريبًا ، اعتقدت أنها قد تكون فرصة جيدة لتقديم تغيير عاجل مثل هذا. ألا يمكنك تقديم الدعم لكلا الخيارين وتسجيل تحذير لأولئك الذين يستخدمون pages/_document.js و pages/_error.js ، وتنصحهم بنقل ملفاتهم وإعادة تسميتها؟ بهذه الطريقة لن يكسر أي شيء ولكنه سيسمح للناس بالهجرة.

بعد قراءة هذا PR https://github.com/zeit/next.js/pull/936 ، يمكن أيضًا معالجة هذا الاقتراح في كائن next.config.js تمامًا مثل pagesDirectory .

يمكنك تمرير زوجين آخرين من الدعائم مثل documentComponent و errorComponent :

// next.config.js
module.exports = {
  pagesDirectory: 'views',
  documentComponent: 'components/Document.js',
  errorComponent: 'components/Error.js'
}
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

rauchg picture rauchg  ·  3تعليقات

sospedra picture sospedra  ·  3تعليقات

swrdfish picture swrdfish  ·  3تعليقات

olifante picture olifante  ·  3تعليقات

knipferrc picture knipferrc  ·  3تعليقات