واجهة سطر الأوامر (CLI) لـ Next.js

تتيح لك واجهة سطر الأوامر (CLI) لـ Next.js تطوير وبناء وتشغيل تطبيقك والمزيد.

الاستخدام الأساسي:

Terminal
npx next [command] [options]

المرجع

الخيارات التالية متاحة:

الخياراتالوصف
-h أو --helpيعرض جميع الخيارات المتاحة
-v أو --versionيعرض رقم إصدار Next.js

الأوامر

الأوامر التالية متاحة:

الأمرالوصف
devيبدأ Next.js في وضع التطوير مع إعادة تحميل الوحدات الساخنة (HMR)، وإبلاغ الأخطاء، والمزيد.
buildينشئ بناءً مُحسّنًا للإنتاج لتطبيقك. يعرض معلومات عن كل مسار.
startيبدأ Next.js في وضع الإنتاج. يجب تجميع التطبيق أولاً باستخدام next build.
infoيطبع تفاصيل مهمة عن النظام الحالي يمكن استخدامها للإبلاغ عن أخطاء Next.js.
lintيشغل ESLint لجميع الملفات في مجلدات /src، /app، /pages، /components، و /lib. كما يوفر إعدادًا موجهًا لتثبيت أي تبعيات مطلوبة إذا لم يكن ESLint مضبوطًا بالفعل في تطبيقك.
telemetryيسمح لك بتمكين أو تعطيل جمع البيانات التليفزيونية المجهولة بالكامل لـ Next.js.

معلومة مفيدة: تشغيل next بدون أمر هو اختصار لـ next dev.

خيارات next dev

next dev يبدأ التطبيق في وضع التطوير مع إعادة تحميل الوحدات الساخنة (HMR)، وإبلاغ الأخطاء، والمزيد. الخيارات التالية متاحة عند تشغيل next dev:

الخيارالوصف
-h, --helpيعرض جميع الخيارات المتاحة.
[directory]مجلد لبناء التطبيق فيه. إذا لم يتم توفيره، يتم استخدام المجلد الحالي.
--turbopackيبدأ وضع التطوير باستخدام Turbopack.
-p أو --port <port>يحدد رقم المنفذ لبدء التطبيق عليه. الافتراضي: 3000، متغير البيئة: PORT
-H أو --hostname <hostname>يحدد اسم المضيف لبدء التطبيق عليه. مفيد لجعل التطبيق متاحًا لأجهزة أخرى على الشبكة. الافتراضي: 0.0.0.0
--experimental-httpsيبدأ الخادم باستخدام HTTPS وينشئ شهادة موقعة ذاتيًا.
--experimental-https-key <path>مسار إلى ملف مفتاح HTTPS.
--experimental-https-cert <path>مسار إلى ملف شهادة HTTPS.
--experimental-https-ca <path>مسار إلى ملف سلطة شهادة HTTPS.
--experimental-upload-trace <traceUrl>يرسل جزءًا من تتبع التصحيح إلى عنوان URL بعيد.

خيارات next build

next build ينشئ بناءً مُحسّنًا للإنتاج لتطبيقك. يعرض المخرجات معلومات عن كل مسار. على سبيل المثال:

Terminal
المسار (app)                              الحجم     أول تحميل JS
 /_not-found                          0 B               0 kB
 ƒ /products/[id]                       0 B               0 kB

  (ثابت)   تم تقديمه مسبقًا كمحتوى ثابت
ƒ  (ديناميكي)  يتم تقديمه من الخادم عند الطلب
  • الحجم: حجم الأصول التي يتم تنزيلها عند التنقل إلى الصفحة من جانب العميل. الحجم لكل مسار يشمل فقط تبعياته.
  • أول تحميل JS: حجم الأصول التي يتم تنزيلها عند زيارة الصفحة من الخادم. يتم عرض كمية JS المشتركة بين الجميع كمقياس منفصل.

كلا هذين القيمتين مضغوطتان باستخدام gzip. يُشار إلى أول تحميل باللون الأخضر أو الأصفر أو الأحمر. استهدف اللون الأخضر لتطبيقات عالية الأداء.

الخيارات التالية متاحة لأمر next build:

الخيارالوصف
-h, --helpيعرض جميع الخيارات المتاحة.
[directory]مجلد لبناء التطبيق فيه. إذا لم يتم توفيره، سيتم استخدام المجلد الحالي.
-d أو --debugيمكّن مخرجات بناء أكثر تفصيلاً. مع تمكين هذا العلم، سيتم عرض مخرجات بناء إضافية مثل إعادة الكتابة، التوجيهات، والرؤوس.
--profileيمكّن تحديد الأداء للإنتاج لـ React.
--no-lintيعطل فحص الأخطاء (linting).
--no-manglingيعطل تشويش الأسماء. قد يؤثر هذا على الأداء ويجب استخدامه فقط لأغراض التصحيح.
--experimental-app-onlyيبني فقط مسارات موجه التطبيق (App Router).
--experimental-build-mode [mode]يستخدم وضع بناء تجريبي. (الخيارات: "compile", "generate", الافتراضي: "default")

خيارات next start

next start يبدأ التطبيق في وضع الإنتاج. يجب تجميع التطبيق أولاً باستخدام next build.

الخيارات التالية متاحة لأمر next start:

الخيارالوصف
-h أو --helpيعرض جميع الخيارات المتاحة.
[directory]مجلد لبدء التطبيق منه. إذا لم يتم توفير مجلد، سيتم استخدام المجلد الحالي.
-p أو --port <port>يحدد رقم المنفذ لبدء التطبيق عليه. (الافتراضي: 3000، متغير البيئة: PORT)
-H أو --hostname <hostname>يحدد اسم المضيف لبدء التطبيق عليه (الافتراضي: 0.0.0.0).
--keepAliveTimeout <keepAliveTimeout>يحدد الحد الأقصى للميلي ثانية للانتظار قبل إغلاق الاتصالات غير النشطة.

خيارات next info

next info يطبع تفاصيل مهمة عن النظام الحالي يمكن استخدامها للإبلاغ عن أخطاء Next.js عند فتح مشكلة في GitHub. تتضمن هذه المعلومات نظام التشغيل (المنصة/الهيكل/الإصدار)، والثنائيات (Node.js، npm، Yarn، pnpm)، وإصدارات الحزم (next، react، react-dom)، والمزيد.

يجب أن يبدو المخرج هكذا:

Terminal
نظام التشغيل:
  المنصة: darwin
  الهيكل: arm64
  الإصدار: Darwin Kernel Version 23.6.0
  الذاكرة المتاحة (MB): 65536
  أنوية CPU المتاحة: 10
الثنائيات:
  Node: 20.12.0
  npm: 10.5.0
  Yarn: 1.22.19
  pnpm: 9.6.0
الحزم ذات الصلة:
  next: 15.0.0-canary.115 // يتم اكتشاف أحدث إصدار متاح (15.0.0-canary.115).
  eslint-config-next: 14.2.5
  react: 19.0.0-rc
  react-dom: 19.0.0
  typescript: 5.5.4
إعدادات Next.js:
  output: N/A

الخيارات التالية متاحة لأمر next info:

الخيارالوصف
-h أو --helpيعرض جميع الخيارات المتاحة
--verboseيجمع معلومات إضافية لأغراض التصحيح.

خيارات next lint

next lint يشغل ESLint لجميع الملفات في مجلدات pages/، app/، components/، lib/، و src/. كما يوفر إعدادًا موجهًا لتثبيت أي تبعيات مطلوبة إذا لم يكن ESLint مضبوطًا بالفعل في تطبيقك.

الخيارات التالية متاحة لأمر next lint:

الخيارالوصف
[directory]مجلد أساسي لفحص الأخطاء فيه. إذا لم يتم توفيره، سيتم استخدام المجلد الحالي.
-d, --dir, <dirs...>يتضمن مجلدًا، أو مجلدات، لتشغيل ESLint عليها.
--file, <files...>يتضمن ملفًا، أو ملفات، لتشغيل ESLint عليها.
--ext, [exts...]يحدد امتدادات ملفات JavaScript. (الافتراضي: [".js", ".mjs", ".cjs", ".jsx", ".ts", ".mts", ".cts", ".tsx"])
-c, --config, <config>يستخدم ملف التهيئة هذا، ويتجاوز جميع خيارات التهيئة الأخرى.
--resolve-plugins-relative-to, <rprt>يحدد مجلدًا يجب حل الملحقات منه.
--strictينشئ ملف .eslintrc.json باستخدام التهيئة الصارمة لـ Next.js.
--rulesdir, <rulesdir...>يستخدم قواعد إضافية من هذا المجلد (المجلدات).
--fixيصحح مشاكل فحص الأخطاء تلقائيًا.
--fix-type <fixType>يحدد أنواع التصحيحات لتطبيقها (مثل: problem, suggestion, layout).
--ignore-path <path>يحدد ملفًا لتجاهله.
--no-ignore <path>يعطل خيار --ignore-path.
--quietيبلغ عن الأخطاء فقط.
--max-warnings [maxWarnings]يحدد عدد التحذيرات قبل تشغيل كود خروج غير صفري. (الافتراضي: -1)
-o, --output-file, <outputFile>يحدد ملفًا لكتابة التقرير إليه.
-f, --format, <format>يستخدم تنسيق مخرج محدد.
--no-inline-configيمنع التعليقات من تغيير التهيئة أو القواعد.
--report-unused-disable-directives-severity <level>يحدد مستوى الخطورة لتوجيهات eslint-disable غير المستخدمة. (الخيارات: "error", "off", "warn")
--no-cacheيعطل التخزين المؤقت.
--cache-location, <cacheLocation>يحدد موقعًا للتخزين المؤقت.
--cache-strategy, [cacheStrategy]يحدد استراتيجية لاكتشاف الملفات المتغيرة في التخزين المؤقت. (الافتراضي: "metadata")
--error-on-unmatched-patternيبلغ عن الأخطاء عندما لا تتطابق أنماط الملفات.
-h, --helpيعرض هذه الرسالة.

خيارات next telemetry

يجمع Next.js بيانات تليفزيونية مجهولة بالكامل عن الاستخدام العام. المشاركة في هذا البرنامج المجهول اختيارية، ويمكنك إلغاء الاشتراك إذا كنت تفضل عدم مشاركة المعلومات.

الخيارات التالية متاحة لأمر next telemetry:

الخيارالوصف
-h, --helpيعرض جميع الخيارات المتاحة.
--enableيمكّن جمع البيانات التليفزيونية لـ Next.js.
--disableيعطل جمع البيانات التليفزيونية لـ Next.js.

تعلم المزيد عن البيانات التليفزيونية.

أمثلة

تغيير المنفذ الافتراضي

بشكل افتراضي، يستخدم Next.js http://localhost:3000 أثناء التطوير ومع أمر next start. يمكن تغيير المنفذ الافتراضي باستخدام خيار -p، كما يلي:

Terminal
next dev -p 4000

أو باستخدام متغير البيئة PORT:

Terminal
PORT=4000 next dev

معلومة مفيدة: لا يمكن تعيين PORT في ملف .env لأن تشغيل خادم HTTP يحدث قبل تهيئة أي كود آخر.

استخدام HTTPS أثناء التطوير

لحالات استخدام معينة مثل webhooks أو المصادقة، يمكنك استخدام HTTPS لإنشاء بيئة آمنة على localhost. يمكن لـ Next.js إنشاء شهادة موقعة ذاتيًا مع next dev باستخدام علم --experimental-https:

Terminal
next dev --experimental-https

مع الشهادة المُنشأة، سيكون خادم التطوير الخاص بـ Next.js متاحًا على https://localhost:3000. يتم استخدام المنفذ الافتراضي 3000 ما لم يتم تحديد منفذ باستخدام -p، --port، أو PORT.

يمكنك أيضًا توفير شهادة مخصصة ومفتاح باستخدام --experimental-https-key و --experimental-https-cert. اختياريًا، يمكنك توفير شهادة CA مخصصة باستخدام --experimental-https-ca أيضًا.

Terminal
next dev --experimental-https --experimental-https-key ./certificates/localhost-key.pem --experimental-https-cert ./certificates/localhost.pem

next dev --experimental-https مخصص للتطوير فقط وينشئ شهادة موثوقة محليًا باستخدام mkcert. في الإنتاج، استخدم شهادات صادرة بشكل صحيح من جهات موثوقة.

تكوين مهلة لوكيل Downstream

عند نشر Next.js خلف وكيل Downstream (مثل موازن الحمل مثل AWS ELB/ALB)، من المهم تكوين خادم HTTP الأساسي لـ Next.js مع مهلات keep-alive تكون أكبر من مهلات وكيل Downstream. وإلا، بمجرد الوصول إلى مهلة keep-alive لاتصال TCP معين، سيقوم Node.js بإنهاء هذا الاتصال فورًا دون إخطار وكيل Downstream. يؤدي هذا إلى حدوث خطأ في الوكيل كلما حاول إعادة استخدام اتصال قام Node.js بإنهائه بالفعل.

لتكوين قيم المهلة لخادم Next.js في الإنتاج، قم بتمرير --keepAliveTimeout (بالميلي ثانية) إلى next start، كما يلي:

Terminal
next start --keepAliveTimeout 70000

تمرير وسائط Node.js

يمكنك تمرير أي وسائط Node.js إلى أوامر next. على سبيل المثال:

Terminal
NODE_OPTIONS='--throw-deprecation' next
NODE_OPTIONS='-r esm' next
NODE_OPTIONS='--inspect' next