الفرق بين المراجعتين لصفحة: «Next.js»

من موسوعة حسوب
لا ملخص تعديل
لا ملخص تعديل
سطر 58: سطر 58:
* <code>pages</code>: ويمثل جذرًا لعناوبن الملفات التي يضمها، إذ يقترن المسار <code>pages/about.js</code>  مثلًا بالمسار <code>about/</code>.
* <code>pages</code>: ويمثل جذرًا لعناوبن الملفات التي يضمها، إذ يقترن المسار <code>pages/about.js</code>  مثلًا بالمسار <code>about/</code>.
* <code>public</code>: يخزّن موارد الدعم كالصور وخطوط الكتابة وغيرها. يمكن الإشارة إلى الملفات الموجودة ضمن هذا المجلد انطلاقًا من العنوان الجذري <code>/</code> تمامًا كالملفات الموجودة ضمن <code>pages</code>.
* <code>public</code>: يخزّن موارد الدعم كالصور وخطوط الكتابة وغيرها. يمكن الإشارة إلى الملفات الموجودة ضمن هذا المجلد انطلاقًا من العنوان الجذري <code>/</code> تمامًا كالملفات الموجودة ضمن <code>pages</code>.
بُنيت  Next.js على مفهوم الصفحات، والصفحة هي مكوّن رياكت React Component يُصدَّر من ملفات موجودة في المجلد <code>pages</code> تحمل إحدى الامتدادات التالية  <code>js.</code> أو <code>jsx.</code> أو <code>ts.</code> أو <code>tsx.</code>. بإمكانك أيضًا إضافة معاملات المسارات الديناميكية مع اسم الملف.
بُنيت  Next.js على مفهوم [[Next.js/Pages|الصفحات]]، والصفحة هي [[React/components and props|مكوّن رياكت]] React Component يُصدَّر من ملفات موجودة في المجلد <code>pages</code> تحمل إحدى الامتدادات التالية  <code>js.</code> أو <code>jsx.</code> أو <code>ts.</code> أو <code>tsx.</code>. بإمكانك أيضًا إضافة معاملات المسارات الديناميكية مع اسم الملف.


ضع الملف <code>index.js</code> في المجلد <code>pages</code> حتى تبدأ العمل، فهي الصفحة التي يعرضها المتصفح عند زيارة المجلد الجذري لتطبيقك. وطّن الصفحة <code>pages/index.js</code> (اجعلها الصفحة الرئيسية) بإضافة المحتوى التالي لها:<syntaxhighlight>
ضع الملف <code>index.js</code> في المجلد <code>pages</code> حتى تبدأ العمل، فهي الصفحة التي يعرضها المتصفح عند زيارة المجلد الجذري لتطبيقك. وطّن الصفحة <code>pages/index.js</code> (اجعلها الصفحة الرئيسية) بإضافة المحتوى التالي لها:<syntaxhighlight>
سطر 77: سطر 77:
'''<u>ما فعلناه حتى اللحظة:</u>'''
'''<u>ما فعلناه حتى اللحظة:</u>'''


* تصريف compiling و تجميع bundling تلقائي.
* تصريف compiling و [[advanced-features/compiler|تجميع]] bundling تلقائي.
* تهيئة التحديث السريع لرياكت React Fast Refresh.
* تهيئة التحديث السريع لرياكت React Fast Refresh.
* تقديم الملفات الثابتة Static file serving من خلال المسار <code>public/</code> المرتبط بالعنوان الجذري (<code>/</code>).
* تقديم الملفات الثابتة Static file serving من خلال المسار <code>public/</code> المرتبط بالعنوان الجذري (<code>/</code>).

مراجعة 15:24، 3 مايو 2022

البدء مع Next.js

مرحبًا بك إلى توثيقات Next.js باللغة العربية!

متطلبات النظام:

  • حزمة Node.js نسختها 12.22.0 أو أعلى
  • نظام تشغيل ماك أو ويندوز (بما في ذلك منظومة ويندوز الفرعية لدعم لينكس WSL) أو لينكس.

التثبيت التلقائي لإطار عمل Next.js

من الأفضل أن تُنشئ تطبيقًا جديدًا باستخدام create-next-app وستثبت هذه العملية كل ما تحتاجه تلقائيًا. لإنشاء تطبيق جديد في Next.js، اكتب التعليمات التالية في طرفية Node.js:

npx create-next-app@latest
# or
yarn create next-app
# or
pnpm create next-app

بإمكانك استخدام الراية typescript-- إن أردت ان تبدأ بمشروع TypeScript:

npx create-next-app@latest --typescript
# or
yarn create next-app --typescript
# or
pnpm create next-app -- --typescript

عند اكتمال التثبيت:

  • شغل خادم التطوير على العنوان http://localhost:3000 مستخدمًا إحدى التعليمات التالية:
    • npm run dev
    • yarn dev
    • pnpm dev
  • زر العنوان السابق للاطلاع على تطبيقك.
  • عدّل الصفحة pages/index.js وراقب نتيجة ما فعلته في المتصفح.

لمزيد من المعلومات حول create-next-app، حاول الإطلاع على التوثيقات الخاصة به.

التثبيت اليدوي

ثبت next و react و react-dom في مشروعك كالتالي:

npm install next react react-dom
# or
yarn add next react react-dom
# or
pnpm add next react react-dom

افتح الملف package.json ثم أضف الشيفرة التالية:

"scripts": {
  "dev": "next dev",
  "build": "next build",
  "start": "next start",
  "lint": "next lint"
}

تشير هذه الشيفرة إلى المراحل المختلفة لتطوير التطبيق:

  • dev : ينفذ الأمر next dev للعمل مع Next.js في نمط التطوير.
  • build: ينفذ الأمر next build لبناء تطبيق يعمل في نمط الإنتاج.
  • start: ينفذ الأمر next start لتشغيل خادم إنتاج Next.js.
  • lint: ينفذ الأمر next lint لتهيئة مدقق ESLint المدمج مع Next.js.

أنشئ بعد ذلك مجلدين الأول يحمل الاسم pages والآخر public ضمن الملف الجذري لتطبيقك:

  • pages: ويمثل جذرًا لعناوبن الملفات التي يضمها، إذ يقترن المسار pages/about.js مثلًا بالمسار about/.
  • public: يخزّن موارد الدعم كالصور وخطوط الكتابة وغيرها. يمكن الإشارة إلى الملفات الموجودة ضمن هذا المجلد انطلاقًا من العنوان الجذري / تمامًا كالملفات الموجودة ضمن pages.

بُنيت Next.js على مفهوم الصفحات، والصفحة هي مكوّن رياكت React Component يُصدَّر من ملفات موجودة في المجلد pages تحمل إحدى الامتدادات التالية js. أو jsx. أو ts. أو tsx.. بإمكانك أيضًا إضافة معاملات المسارات الديناميكية مع اسم الملف.

ضع الملف index.js في المجلد pages حتى تبدأ العمل، فهي الصفحة التي يعرضها المتصفح عند زيارة المجلد الجذري لتطبيقك. وطّن الصفحة pages/index.js (اجعلها الصفحة الرئيسية) بإضافة المحتوى التالي لها:

function HomePage() {
  return <div>Welcome to Next.js!</div>
}

export default HomePage

بعد اكتمال التثبيت:

  • نفّذ أحد الأوامر التالية لتشغّل خادم التطوير على العنوان http://localhost:3000 :
    • npm run dev
    • yarn dev
    • pnpm dev
  • زر العنوان http://localhost:3000 لاستعراض تطبيقك
  • عدّل في الصفحة pages/index.js لترى النتيجة مباشرة على متصفحك.

ما فعلناه حتى اللحظة:

  • تصريف compiling و تجميع bundling تلقائي.
  • تهيئة التحديث السريع لرياكت React Fast Refresh.
  • تقديم الملفات الثابتة Static file serving من خلال المسار public/ المرتبط بالعنوان الجذري (/).

سيكون كل تطبيق جاهزًا لمرحلة الإنتاج ابتداءً من لحظة إنشائه، وهذا ما سنراه في توثيقات توزيع التطبيقات.

الميزات الأساسية

Pages

Data Fetching

Built-in CSS Support

Layouts

Image Optimization

Font Optimization

Static File Serving

Fast Refresh

ESLint

TypeScript

Environment Variables

Supported Browsers and Features

Handling Scripts

Routing

API Routes

Going to Production

Deployment

Authentication

Testing

Guides

ميزات متقدمة

Next.js Compiler

Preview Mode

Dynamic Import

Automatic Static Optimization

Static HTML Export

Absolute Imports and Module Path Aliases

Using MDX

AMP Support

Customizing Babel Config

Customizing PostCSS Config

Custom Server

Custom `App`

Custom `Document`

Custom Error Page

`src` Directory

Multi Zones

Measuring performance

Middleware (Beta)

Debugging

Error Handling

Source Maps

Codemods

Internationalized Routing

Output File Tracing

Security Headers

React 18

Upgrade Guide

Migrating to Next.js

FAQ

مرجع الواجعة البرمجية API Reference

CLI

Create Next App

next/router

next/link

next/image

next/script

next/head

next/amp

next/server

next/streaming

Edge Runtime

Data Fetching

Static Optimization Indicator

next.config.js