قمت بعمل مشروع next 14 واستخدمت nex-intl كي أجعل المشروع متعدد اللغات، بعد أن أنهيت المشروع أريد رفعه على github ولكن يظهر لي
⨯ page.tsx doesn't have a root layout. To fix this error, make sure every page has a root layout.
وذلك لأن من خطوات next-intl هو نقل الlayout والpage.tsx إلى مجلد [locale]، قمت بعمل ملف layout ووضعت فيه الكود التالي:
import{ReactNode} from 'react';interfaceErrorProps{
children:ReactNode;}exportdefaultfunctionGlobalError({ children }:ErrorProps){return(<html><body>{children}</body></html>);}
ليظهر بعدها هذا الخطأ
Collecting page data ..Error: ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: 5361
at Object.set [as exports] (D:\testtest\test-app\.next\server\webpack-runtime.js:1:1069)
at 5361 (D:\testtest\test-app\.next\server\chunks\233.js:3:4871)
at Function.t (D:\testtest\test-app\.next\server\webpack-runtime.js:1:143)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async collectGenerateParams (D:\testtest\test-app\node_modules\next\dist\build\utils.js:919:21)
at async D:\testtest\test-app\node_modules\next\dist\build\utils.js:1138:17
at async Span.traceAsyncFn (D:\testtest\test-app\node_modules\next\dist\trace\trace.js:151:20)
> Build error occurred
Error: Failed to collect page data for /[locale]/cart
at D:\testtest\test-app\node_modules\next\dist\build\utils.js:1258:15
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
type: 'Error'
}
Collecting page data .
قمت بالبحث عن السبب ووجدت أنه يجب إضافة "type" : "module" إلى ملف packege.json، قمت بإضافتها ولم يحصل شيء، بعدها قيل لي يجب التعديل على ملف next.config.mjs قمت بكتابة هذا الكود
ثمَّ استطعت عمل build للمشروع ولكن عندما انتقلت إلى github تظهر هذه المشكلة دائماً عند الbuild:
بحثت عن الحل وجدت أنه يجب كتابة output:"export" في ملف next.config.mjs قمت بكتابتها ليظهر لي أنه يجب أن تحتوي الصفحات على getGenerateStatic() لكن عند وضعها لا تعمل ويعطي خطأ لأن الصفحات غير الثابتة لا يجب ان تحتوي على headers.
بالنهاية إذا كنت أريد عمل الموقع static يجب أن أتخلى عن الصفحات الdynamic وإذا كنت أريد الاحتفاظ بصفحات الdynamic لا يمكنني عمل build على github
أرجو المساعدة وشكراً مسبقاً.
السؤال
Adham Mahfoud
السلام عليكم
قمت بعمل مشروع next 14 واستخدمت nex-intl كي أجعل المشروع متعدد اللغات، بعد أن أنهيت المشروع أريد رفعه على github ولكن يظهر لي
⨯ page.tsx doesn't have a root layout. To fix this error, make sure every page has a root layout.
وذلك لأن من خطوات next-intl هو نقل الlayout والpage.tsx إلى مجلد [locale]، قمت بعمل ملف layout ووضعت فيه الكود التالي:
ليظهر بعدها هذا الخطأ
Collecting page data ..Error: ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: 5361 at Object.set [as exports] (D:\testtest\test-app\.next\server\webpack-runtime.js:1:1069) at 5361 (D:\testtest\test-app\.next\server\chunks\233.js:3:4871) at Function.t (D:\testtest\test-app\.next\server\webpack-runtime.js:1:143) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async collectGenerateParams (D:\testtest\test-app\node_modules\next\dist\build\utils.js:919:21) at async D:\testtest\test-app\node_modules\next\dist\build\utils.js:1138:17 at async Span.traceAsyncFn (D:\testtest\test-app\node_modules\next\dist\trace\trace.js:151:20) > Build error occurred Error: Failed to collect page data for /[locale]/cart at D:\testtest\test-app\node_modules\next\dist\build\utils.js:1258:15 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) { type: 'Error' } Collecting page data .
قمت بالبحث عن السبب ووجدت أنه يجب إضافة "type" : "module" إلى ملف packege.json، قمت بإضافتها ولم يحصل شيء، بعدها قيل لي يجب التعديل على ملف next.config.mjs قمت بكتابة هذا الكود
ثمَّ استطعت عمل build للمشروع ولكن عندما انتقلت إلى github تظهر هذه المشكلة دائماً عند الbuild:
بحثت عن الحل وجدت أنه يجب كتابة output:"export" في ملف next.config.mjs قمت بكتابتها ليظهر لي أنه يجب أن تحتوي الصفحات على getGenerateStatic() لكن عند وضعها لا تعمل ويعطي خطأ لأن الصفحات غير الثابتة لا يجب ان تحتوي على headers.
بالنهاية إذا كنت أريد عمل الموقع static يجب أن أتخلى عن الصفحات الdynamic وإذا كنت أريد الاحتفاظ بصفحات الdynamic لا يمكنني عمل build على github
أرجو المساعدة وشكراً مسبقاً.
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.