آموزش Next.js با مثال

Next.js by Example

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: وب سایت های استاتیک و برنامه های وب هیبریدی (static+SSR) با React و Next.js، از جمله Tailwind CSS، React Query توسعه برنامه های وب با مؤلفه های Next·js Style با styled-jsx یا Tailwind CSS ساخت وب سایت های کاملاً ثابت یا ترکیبی (ایستا + SSR) برنامه‌ها واکشی داده‌ها از یک API راه دور مانند یک CMS Headless پیاده‌سازی داده‌های Cache مبتنی بر کوکی JWT با React Query پیش نیازها: آشنایی با توسعه وب مدرن: HTML، CSS، JavaScript، npm آشنایی با React، از جمله useState و useEffect قلاب ها

Next.js که به عنوان «چارچوب React برای تولید» توصیف می‌شود، ساخت برنامه‌های وب بسیار بهینه‌شده در React را آسان می‌کند.

این دوره با توسعه دو مثال، شما را در یادگیری Next.js راهنمایی می‌کند: یک وب‌سایت کاملاً ثابت و یک برنامه ترکیبی (ایستا + ارائه‌شده در سمت سرور).

نمونه اول، یک وب‌سایت وبلاگ شخصی، شما را با مفاهیم اساسی Next.js مانند پیش‌رندر، مسیریابی مبتنی بر سیستم فایل، و هیدراتاسیون آشنا می‌کند.

به شما نشان می‌دهد که چگونه داده‌ها را در صفحاتی که در زمان ساخت به‌صورت ایستا تولید می‌شوند، بارگیری کنید، و چگونه به صفحات خود در فایل‌های CSS جهانی یا با کتابخانه styled-jsx که سبک‌های دارای محدوده مؤلفه را ارائه می‌کند، استایل دهید.

بخش Deployment همه گزینه‌ها را برای اجرای برنامه‌تان در مرحله تولید، از پلتفرم‌های بدون سرور کاملاً مدیریت‌شده مانند Vercel گرفته تا پیکربندی سرورهای لینوکس خود، به شما ارائه می‌دهد.

نمونه دومی که توسعه خواهید داد یک وب سایت فروشگاهی است. این یک برنامه پیچیده‌تر خواهد بود که داده‌های خود را از یک CMS بدون سر (Strapi) بارگیری می‌کند و از ویژگی‌های پیشرفته Next.js مانند بازسازی استاتیک افزایشی برای بازتاب خودکار تغییرات در داده‌های باطن استفاده می‌کند.

در صورت تمایل به شما نشان می دهد که چگونه پشتیبانی TypeScript را در پروژه Next.js فعال کنید. استفاده از TypeScript اختیاری است. همه ویدیوها به جز یکی از جاوا اسکریپت ساده استفاده می کنند. اما اگر TypeScript را ترجیح می دهید، کد TypeScript کامل برای مثال فروشگاه را در یک مخزن GitHub پیدا خواهید کرد.

این وب‌سایت از کتابخانه محبوب Tailwind CSS برای استایل‌سازی و از مؤلفه Next Image برای بهینه‌سازی تصویر استفاده می‌کند.

راه‌های مختلفی برای بارگیری داده‌ها از یک API خارجی، از جمله نوشتن مسیرهای API خود در Next.js، و نحوه انتخاب بهترین رویکرد برای نیازهای خاص خود مشاهده خواهید کرد.

این مثال شامل یک سیستم احراز هویت ایمن مبتنی بر JWT و کوکی‌ها می‌شود و کتابخانه React Query برای ذخیره‌سازی داده‌ها در سمت سرویس گیرنده استفاده خواهد شد.

کد منبع کامل برای همه نمونه ها ارائه شده است، با یک روش آسان برای مشاهده تغییرات ایجاد شده در هر سخنرانی.

این دوره را می‌توان با آخرین نسخه Next.js 13 دنبال کرد. توجه داشته باشید که ویژگی‌های آزمایشی، مانند فهرست راهنمای برنامه بتا، پوشش داده نمی‌شوند.


سرفصل ها و درس ها

شروع شدن Getting Started

  • وبلاگ بعدی: بررسی اجمالی Next Blog: Overview

  • ابزارهای مورد نیاز Required Tools

  • به روز رسانی ها و اصلاحات Updates and Corrections

  • راه اندازی پروژه Next.js Next.js Project Setup

  • کد منبع Source Code

  • پیش رندر Pre-rendering

  • توسعه در مقابل سرور تولید Development vs Production Server

مسیریابی و ناوبری Routing and Navigation

  • افزودن صفحات جدید Adding New Pages

  • مولفه پیوند بعدی Next Link Component

  • مولفه NavBar مشترک Shared NavBar Component

  • جزء برنامه سفارشی Custom App Component

  • جزء اصلی بعدی Next Head Component

طراحی ظاهر Styling

  • سبک های جهانی Global Styles

  • سبک های کامپوننت با JSX مدل دار Component Styles with Styled JSX

  • تصاویر و سایر دارایی ها Images and Other Assets

در حال بارگیری داده ها Loading Data

  • صفحه اول پست First Post Page

  • نحو Markdown Markdown Syntax

  • تابع getStaticProps getStaticProps Function

  • getStaticProps در حالت تولید getStaticProps in Production Mode

  • خواندن یک فایل Reading a File

  • ماژول Lib Lib Module

  • رندر Markdown Rendering Markdown

  • موضوع جلو Front Matter

  • مسیر پویا و getStaticPaths Dynamic Route and getStaticPaths

  • فهرست کردن فایل ها در یک پوشه Listing Files in a Folder

  • لیست پست ها Listing Posts

  • مسیرهای پویا در حالت تولید Dynamic Routes in Production Mode

عملکرد سمت مشتری Client-side Functionality

  • کامپوننت ThemeSwitch ThemeSwitch Component

  • سبک های حالت تاریک Dark Mode Styles

  • کامپوننت دارک تم DarkTheme Component

  • هیدراتاسیون Hydration

  • ذخیره تنظیمات برگزیده در فضای ذخیره‌سازی محلی Saving Preferences to Local Storage

  • تشخیص ویژگی Feature Detection

گسترش Deployment

  • گزینه های استقرار Deployment Options

  • پلتفرم Vercel Vercel Platform

  • صادرات به عنوان یک وب سایت ثابت Exporting as a Static Website

  • سرور لینوکس با Nginx Linux Server with Nginx

  • سرور لینوکس با Node.js Linux Server with Node.js

فروشگاه بعدی: راه اندازی Next Shop: Setup

  • فروشگاه بعدی: نمای کلی Next Shop: Overview

  • برنامه بعدی را ایجاد کنید Create Next App

  • پشتیبانی TypeScript TypeScript Support

  • کد منبع Source Code

  • راه اندازی Tailwind CSS Tailwind CSS Setup

  • Utility-First CSS Utility-First CSS

  • معماری سطح بالا High-level Architecture

  • Strapi Headless CMS Strapi Headless CMS

  • توجه: نسخه Strapi Note: Strapi Version

  • راه اندازی Backend Backend Setup

واکشی داده ها Data Fetching

  • نمایش محصولات Displaying Products

  • در حال واکشی داده ها در سمت سرور Fetching Data Server-side

  • واکشی داده ها در سمت مشتری Fetching Data Client-side

  • بازسازی استاتیکی افزایشی Incremental Static Regeneration

  • رندر سمت سرور Server-side Rendering

  • مسیرهای API API Routes

  • فراخوانی مسیرهای API Calling API Routes

  • انتخاب یک استراتژی واکشی داده Choosing a Data Fetching Strategy

  • لینک های صفحه محصول Product Page Links

  • صفحه محصول Product Page

  • بازسازی صفحات محصول Regenerating Product Pages

  • اعتبار مجدد درخواستی On-demand Revalidation

  • بازگشت: مسدود کردن Fallback: Blocking

  • بازگشت و صفحه یافت نشد Fallback and Page Not Found

  • تابع fetchJson مشترک Shared fetchJson function

  • کلاس خطای سفارشی Custom Error Class

  • Backend و Backend در دسترس نیستند Fallback and Backend Unavailable

  • متغیرهای محیطی Environment Variables

طراحی واکنشگرا و بهینه سازی تصویر Responsive Design and Image Optimization

  • کارت محصول Product Card

  • شبکه پاسخگو Responsive Grid

  • تصاویر محصول Product Images

  • مولفه تصویر بعدی Next Image Component

  • صفحه محصول واکنش گرا Responsive Product Page

احراز هویت Authentication

  • احراز هویت Strapi Strapi Authentication

  • کامپوننت صفحه مشترک Common Page Component

  • فرم ورود Sign In Form

  • فرم حالت و اعتبار Form State and Validation

  • درخواست API به سیستم وارد شوید Sign In API Request

  • خطا و بارگیری ایالات Error and Loading States

  • مسیر API با POST API Route with POST

  • ورود به API Route Login API Route

  • تنظیم یک کوکی Setting a Cookie

  • نوار نوار با احراز هویت NavBar with Authentication

  • مسیر API کاربر User API Route

  • در حال بارگیری اطلاعات کاربر Loading User Data

  • خروج از سیستم Signing Out

React Query React Query

  • چرا React Query Why React Query

  • useQuery Hook useQuery Hook

  • useUser Custom Hook useUser Custom Hook

  • استفاده از قلاب جهش useMutation Hook

  • به روز رسانی کش Query Updating the Query Cache

  • استفاده از قلاب سفارشی SignIn useSignIn Custom Hook

  • استفاده از قلاب سفارشی SignOut useSignOut Custom Hook

سبد خرید (تمرینات) Shopping Cart (Exercises)

  • مجموعه اقلام سبد خرید Cart Items Collection

  • صفحه سبد خرید Cart Page

  • مسیر API سبد خرید Cart API Route

  • واکشی اقلام سبد خرید Fetching Cart Items

  • نمایش اقلام سبد خرید Displaying Cart Items

  • POST Cart Handler POST Cart Handler

  • افزودن به ابزارک سبد خرید Add to Cart Widget

  • افزودن به سبد خرید جهش Add to Cart Mutation

  • بسته شدن Wrap Up

نتیجه Conclusion

  • تبریک و پاداش Congratulations and Bonus

نمایش نظرات

آموزش Next.js با مثال
جزییات دوره
8.5 hours
100
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
2,810
4.8 از 5
دارد
دارد
دارد
Mirko Nasato
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Mirko Nasato Mirko Nasato

توسعه دهنده و مربی نرم افزار