بهینه‌سازی بسته‌بندی پکیج‌ها در Next.js – تحلیل، کاهش حجم، و کنترل دقیق وابستگی‌ها

بسته‌بندی بهینه پکیج‌ها در Next.js باعث بهبود عملکرد و کاهش زمان بارگذاری می‌شود. این مقاله نحوهٔ تحلیل باندل‌ها با @next/bundle-analyzer، بهینه‌سازی importها، و کنترل دقیق بسته‌های سرور را بررسی می‌کند.

Bundle AnalyzeroptimizePackageImportsServer ComponentsExternal Packages

~2 min read · Updated Oct 28, 2025

مقدمه


بسته‌بندی (Bundling) پکیج‌های خارجی نقش مهمی در عملکرد اپلیکیشن دارد. Next.js به‌صورت پیش‌فرض پکیج‌هایی که در Server Components و Route Handlers استفاده می‌شوند را باندل می‌کند. با این حال، می‌توان با ابزارها و تنظیمات پیشرفته، این فرآیند را بهینه‌تر کرد.


تحلیل باندل‌های جاوااسکریپت


پلاگین @next/bundle-analyzer ابزاری برای بررسی اندازه باندل‌ها و وابستگی‌هاست. با استفاده از آن می‌توانید پکیج‌های سنگین را شناسایی و حذف یا به‌صورت lazy-load بارگذاری کنید.


نصب


npm i @next/bundle-analyzer

پیکربندی در next.config.js


const withBundleAnalyzer = require('@next/bundle-analyzer')({
  enabled: process.env.ANALYZE === 'true',
})

module.exports = withBundleAnalyzer({})

تولید گزارش


ANALYZE=true npm run build

گزارش به‌صورت گرافیکی در مرورگر باز می‌شود و می‌توانید ساختار باندل‌ها را بررسی کنید.


بهینه‌سازی import پکیج‌ها


برخی پکیج‌ها مانند کتابخانه‌های آیکون، صدها ماژول صادر می‌کنند. برای جلوگیری از بارگذاری غیرضروری، از گزینه optimizePackageImports استفاده کنید:

experimental: {
  optimizePackageImports: ['icon-library'],
}

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


خارج کردن پکیج‌ها از باندل سرور


پکیج‌هایی که در Server Components و Route Handlers استفاده می‌شوند به‌صورت پیش‌فرض باندل می‌شوند. برای جلوگیری از این کار، از گزینه serverExternalPackages استفاده کنید:

serverExternalPackages: ['package-name']

Next.js برخی پکیج‌های ناسازگار را به‌صورت خودکار از باندل خارج می‌کند.


جمع‌بندی


با تحلیل باندل‌ها، بهینه‌سازی importها، و کنترل دقیق بسته‌های سرور، می‌توانید عملکرد اپلیکیشن Next.js خود را به‌طور چشمگیری بهبود دهید. این اقدامات به کاهش حجم جاوااسکریپت، افزایش سرعت بارگذاری، و تجربه بهتر کاربر منجر می‌شوند.


Written & researched by Dr. Shahin Siami

Related Articles

مسیریابی پیشرفته و هوک‌های عملکرد در Next.js — راهنمای توسعه‌دهنده برای App Router

Next.js مجموعه‌ای غنی از هوک‌های کلاینت و ابزارهای کش و ناوبری را در اختیار توسعه‌دهندگان قرار می‌دهد. از خواندن پارامترهای مسیر تا گزارش Web Vitals و مدیریت کش، این مقاله مهم‌ترین ابزارهای App Router را با مثال‌های کاربردی معرفی می‌کند.

Continue

مدیریت احراز هویت و کش در Next.js — راهنمای توسعه‌دهنده برای امنیت و عملکرد پویا

Next.js با معرفی قابلیت‌های آزمایشی جدید، امکان کنترل دقیق‌تر دسترسی و کش داده‌ها را فراهم کرده است. تابع unauthorized برای مدیریت خطای 401 و هدایت کاربران به صفحه ورود، unstable_cache برای کش هوشمند عملیات سنگین، updateTag برای بازسازی آنی داده‌ها، و useLinkStatus برای نمایش وضعیت ناوبری استفاده می‌شوند. این مقاله نحوه استفاده از این ابزارها را با مثال‌های کاربردی و نکات مهم بررسی می‌کند.

Continue

redirect و refresh در Next.js — ریدایرکت‌های هوشمند و تازه‌سازی مسیر در Server Actions

تابع redirect در Next.js برای هدایت کاربر به مسیر جدید استفاده می‌شود و بسته به نوع استفاده، پاسخ HTTP با وضعیت 307 یا 303 ارسال می‌کند. این تابع در Server Components، Client Components، Route Handlers و Server Actions قابل استفاده است. تابع refresh نیز برای تازه‌سازی مسیر کلاینت از درون Server Action استفاده می‌شود. این مقاله نحوه استفاده از هر دو تابع را با مثال‌های کاربردی و نکات مهم توضیح می‌دهد.

Continue

Next.js با معرفی NextRequest و NextResponse، APIهای Request و Response مرورگر را گسترش داده و ابزارهای قدرتمندی برای مدیریت کوکی‌ها، هدرها، ریدایرکت‌ها، بازنویسی مسیرها و پاسخ‌های JSON فراهم کرده است. این مقاله نحوه استفاده از این ابزارها را با مثال‌های کاربردی و نکات امنیتی توضیح می‌دهد.

Next.js با معرفی NextRequest و NextResponse، APIهای Request و Response مرورگر را گسترش داده و ابزارهای قدرتمندی برای مدیریت کوکی‌ها، هدرها، ریدایرکت‌ها، بازنویسی مسیرها و پاسخ‌های JSON فراهم کرده است. این مقاله نحوه استفاده از این ابزارها را با مثال‌های کاربردی و نکات امنیتی توضیح می‌دهد.

Continue

headers، ImageResponse، notFound و permanentRedirect در Next.js — مدیریت درخواست‌ها، تولید تصویر، خطا و ریدایرکت

Next.js ابزارهای قدرتمندی برای مدیریت درخواست‌ها و پاسخ‌ها در کامپوننت‌های سروری فراهم کرده است. تابع headers برای خواندن هدرهای HTTP ورودی، ImageResponse برای تولید تصاویر داینامیک، notFound برای نمایش صفحه خطای 404، و permanentRedirect برای ریدایرکت دائمی کاربران استفاده می‌شوند. این مقاله نحوه استفاده از هر یک را با مثال‌های کاربردی توضیح می‌دهد.

Continue

راهنمای کامل استفاده از metadata و generateMetadata در Next.js

در نسخه‌های مدرن Next.js، مدیریت metadata صفحات بسیار قدرتمندتر و ساده‌تر شده است. metadata به‌صورت خودکار در تگ <head> صفحات تزریق می‌شود و نقش مهمی در SEO، اشتراک‌گذاری اجتماعی و تجربه کاربری دارد. این مقاله دو روش اصلی تعریف metadata را بررسی می‌کند: استفاده از آبجکت ثابت metadata و تابع داینامیک generateMetadata.

Continue