manifest.json در Next.js — تعریف اطلاعات اپلیکیشن برای مرورگرها

فایل manifest.json یا manifest.webmanifest در Next.js اطلاعات متادیتای اپلیکیشن را برای مرورگرها فراهم می‌کند. این فایل برای تعریف نام، آیکون، رنگ‌ها، و نحوه نمایش اپلیکیشن در حالت PWA استفاده می‌شود. می‌توان آن را به‌صورت فایل استاتیک یا با کد در manifest.ts تولید کرد. این مقاله نحوهٔ تعریف، محل قرارگیری، و گزینه‌های پشتیبانی‌شده را توضیح می‌دهد.

manifest.jsonPWAMetadataRouteapp icons

~2 دقیقه مطالعه · آخرین به‌روزرسانی ۷ آبان ۱۴۰۴

۱. manifest چیست؟


فایل manifest.json یا manifest.webmanifest اطلاعاتی دربارهٔ اپلیکیشن شما به مرورگر ارائه می‌دهد — مانند نام، آیکون، رنگ‌ها، و نحوهٔ اجرا در حالت مستقل (standalone). این فایل برای پشتیبانی از Progressive Web App (PWA) ضروری است.


۲. روش‌های تعریف manifest


دو روش برای تعریف فایل manifest وجود دارد:

  1. فایل استاتیک: در مسیر app/manifest.json یا app/manifest.webmanifest
  2. تولید با کد: در فایل app/manifest.ts یا app/manifest.js

۳. نمونه فایل استاتیک


// app/manifest.json
{
  "name": "My Next.js Application",
  "short_name": "Next.js App",
  "description": "An application built with Next.js",
  "start_url": "/"
}

۴. تولید manifest با کد


برای تولید فایل manifest با کد، از نوع MetadataRoute.Manifest استفاده کنید:

// app/manifest.ts
import type { MetadataRoute } from 'next'

export default function manifest(): MetadataRoute.Manifest {
  return {
    name: 'Next.js App',
    short_name: 'Next.js App',
    description: 'Next.js App',
    start_url: '/',
    display: 'standalone',
    background_color: '#fff',
    theme_color: '#fff',
    icons: [
      {
        src: '/favicon.ico',
        sizes: 'any',
        type: 'image/x-icon',
      },
    ],
  }
}

۵. گزینه‌های پشتیبانی‌شده در manifest


فایل manifest می‌تواند شامل گزینه‌های زیر باشد:

  • name: نام کامل اپلیکیشن
  • short_name: نام کوتاه برای نمایش در آیکون
  • description: توضیح دربارهٔ اپلیکیشن
  • start_url: مسیر شروع اپلیکیشن
  • display: حالت نمایش (مثلاً standalone)
  • background_color: رنگ پس‌زمینه
  • theme_color: رنگ تم
  • icons: لیست آیکون‌ها با مسیر، سایز و نوع

۶. نکات مهم


  • فایل manifest باید در ریشهٔ پوشه app قرار گیرد
  • نسخهٔ کدی manifest به‌صورت پیش‌فرض کش می‌شود مگر اینکه از API داینامیک استفاده کند
  • برای مشاهده گزینه‌های کامل، از TypeScript و نوع MetadataRoute.Manifest استفاده کنید یا به مستندات MDN مراجعه کنید

جمع‌بندی


فایل manifest.json در Next.js نقش کلیدی در تعریف رفتار و ظاهر اپلیکیشن در مرورگر دارد. چه به‌صورت استاتیک و چه داینامیک، این فایل به شما امکان می‌دهد تجربه‌ای حرفه‌ای و قابل نصب برای کاربران بسازید — مخصوصاً در اپلیکیشن‌های PWA.


نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

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

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

ادامه

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

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

ادامه

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

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

ادامه

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

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

ادامه

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

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

ادامه

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

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

ادامه