از Baseline با فهرست مرورگرها استفاده کنید

تاریخ انتشار: 7 می 2025، آخرین به روز رسانی: 17 سپتامبر 2025

فهرست مرورگرها یکی از محبوب‌ترین ابزارها برای پیکربندی حداقل نسخه‌های مرورگر پشتیبانی‌شده در پایگاه‌های کد جلویی است. توسعه دهندگان یک جستجوی browserslist را به فایل package.json خود (یا سایر نقاط پیکربندی فهرست مرورگرها، مانند فایل .browserslistrc ) اضافه می کنند و فهرست مرورگرها لیستی از حداقل مرورگرهای پشتیبانی شده را نشان می دهد. فهرست مرورگرها را می‌توان با طیف گسترده‌ای از ابزارهای پرطرفدار پرکننده، پرکننده و بسته‌بندی استفاده کرد، از جمله:

اهداف پایه

هنگامی که تصمیم به استفاده از Baseline دارید، باید پایگاه کاربری خود را در نظر بگیرید و تصمیم بگیرید که کدام مجموعه ویژگی Baseline را می‌خواهید هدف قرار دهید:

  • Baseline Widely available شامل تمام ویژگی های وب است که 30 ماه یا بیشتر در گذشته توسط مرورگر اصلی Baseline به طور کامل پشتیبانی می شد.
  • مجموعه ویژگی‌های سال پایه، به عنوان مثال ، Baseline 2020 ، شامل همه ویژگی‌هایی است که به تازگی در پایان سال مشخص شده در دسترس بودند.

بسته به پایگاه کاربر خود، ممکن است بتوانید خط پایه را به صورت گسترده در دسترس قرار دهید، یا ممکن است لازم باشد سال پایه قدیمی تری را هدف قرار دهید. با ابزارهای تجزیه و تحلیل یا RUM خود مشورت کنید تا متوجه شوید که کاربران شما کدام نسخه مرورگر را دارند.

چگونه خط پایه را به تازگی یا به طور گسترده در دسترس قرار دهیم

پشتیبانی از Baseline در فهرست مرورگرها از طریق چند پرس و جو مختلف ساخته شده است. اگر می‌خواهید مرورگرهای تازه در دسترس خط پایه را هدف قرار دهید، سعی کنید baseline newly available در پیکربندی فهرست مرورگرهای خود مشخص کنید:

{
  ...
  "browserslist": [
    "baseline newly available"
   ]
  ...
}

همچنین می‌توانید baseline widely available قرار دهید:

{
  ...
  "browserslist": [
    "baseline widely available"
   ]
  ...
}

نحوه هدف گذاری سال های پایه

اگر می‌خواهید مجموعه ویژگی‌های سال پایه را هدف قرار دهید، سال را در یک جستجو مشخص می‌کنید، مثلاً اگر می‌خواهید مجموعه ویژگی‌های ۲۰۲۴ را هدف قرار دهید، baseline 2024 مشخص کنید:

"browserslist": "baseline 2024"

می توانید سال ها را از baseline 2015 تا سال جاری مشخص کنید.

نحوه تعیین مرورگرهای پایین دست

مجموعه مرورگر اصلی Baseline شامل کروم، اج، فایرفاکس و سافاری است. سایر مرورگرها بر اساس همان کد منبع باز Chrome و Edge-Chromium- هستند و باید از همان مجموعه ویژگی‌هایی که هر نسخه از Chromium پیاده‌سازی می‌کنند پشتیبانی کنند. برای گنجاندن این مرورگرها در پیکربندی Baseline خود، پس از جستجوی Baseline، with downstream اضافه کنید. به عنوان مثال، برای هدف قرار دادن مرورگرهای پایین دستی به عنوان بخشی از Baseline Widely available، baseline widely available with downstream مشخص کنید:

"browserslist": "baseline widely available with downstream"

baseline newly available with downstream ، یکی دیگر از پرس و جوهای معتبر است، مانند افزودن with downstream به اهداف سالانه:

"browserslist": "baseline 2024 with downstream"

نمونه هایی از پرس و جوهای پایه در عمل

در ابزار بسته بندی

استفاده از کوئری های Baseline ارائه شده توسط Browserslist در پروژه شما می تواند تأثیر فوری داشته باشد. Babel یک ابزار ساخت محبوب برای بسته بندی جاوا اسکریپت است. اگر از پیش‌فرض‌های بسته @babel/preset-env استفاده می‌کنید، بسیاری از APIها و متدهای جاوا اسکریپت مدرن با نحو پرمخاطب‌تر مورد نیاز مرورگرهای قدیمی جایگزین خواهند شد:

یک جلسه ترمینال که نشان می دهد دستور ساخت npm run روی یک فایل جاوا اسکریپت به نام test.js اجرا شده است.  حجم فایل خروجی 12 کیلوبایت است.

با این حال، استفاده از یک پرس و جو از baseline 2020 برای هدف قرار دادن مجموعه ویژگی های 2020 در همان پروژه نمونه، به طور چشمگیری اندازه خروجی این جاوا اسکریپت را کاهش می دهد، زیرا تبدیل های نحوی کمتری مورد نیاز است:

جلسه دوم ترمینال نشان می دهد که دستور ساخت npm run اکنون یک فایل 1.5 کیلوبایتی تولید کرده است، زمانی که babel قرار است Baseline 2020 را هدف قرار دهد.

این را خودتان با استفاده از کد مثال موجود در مخزن آزمایشی پایه Google Chrome Labs امتحان کنید.

در لینتر

برخی از لینترها از قبل با فهرست مرورگرها کار می کنند یا می توان با استفاده از یک ماژول سازگاری با فهرست مرورگرها کار کرد. برای مثال، stylelint می‌تواند پیکربندی فهرست browserslist را با استفاده از ماژول stylelint-browser-compat مصرف کند. فایل stylelint.config.js خود را طوری تنظیم کنید که از کوئری Baseline مورد نظر شما استفاده کند:

module.exports = {
  plugins: ['stylelint-browser-compat'],
  rules: {
    'plugin/browser-compat': [
      true,
      {
        browserslist: ['baseline widely available'],
      },
    ],
  },
};

Styelint اکنون CSS را که در حال حاضر بخشی از Baseline به طور گسترده در دسترس نیست، پرچم‌گذاری می‌کند:

لیستی از اخطارهای Stylelint که کدهای CSS را که در مرورگرهای قدیمی کار نمی‌کند برجسته می‌کند.

Styelint همچنین افزونه‌ای را ارائه می‌کند که به شما امکان می‌دهد مستقیماً قوانین Baseline را تنظیم کنید، اما اگر قبلاً از فهرست مرورگرها برای مدیریت پیکربندی خود استفاده می‌کنید، استفاده از کوئری‌های Baseline داخلی که Browserslist ارائه می‌دهد یک راه‌حل مناسب است.