تاریخ انتشار: 7 مه 2025
فهرست مرورگرها یکی از محبوبترین ابزارها برای پیکربندی حداقل نسخههای مرورگر پشتیبانیشده در پایگاههای کد جلویی است. توسعه دهندگان یک جستجوی browserslist را به فایل package.json خود اضافه می کنند و فهرست مرورگرها لیستی از حداقل مرورگرهای پشتیبانی شده را نشان می دهد. فهرست مرورگرها را میتوان با طیف گستردهای از ابزارهای پرطرفدار پرکننده، پرکننده و بستهبندی استفاده کرد، از جمله:
- پیشوند خودکار
- Babel با استفاده از
@babel/preset-env - PostCSS با استفاده از
postcss-preset-env - ESLint با استفاده از
eslint-plugin-compat - Stylint با استفاده از
stylelint-no-unsupported-browser-features - بسته وب
اهداف پایه
هنگامی که تصمیم به استفاده از Baseline دارید، باید پایگاه کاربری خود را در نظر بگیرید و تصمیم بگیرید که کدام مجموعه ویژگی Baseline را میخواهید هدف قرار دهید:
- Baseline Widely available شامل تمام ویژگی های وب است که 30 ماه یا بیشتر در گذشته توسط مرورگر اصلی Baseline به طور کامل پشتیبانی می شد.
- مجموعه ویژگیهای سال پایه، به عنوان مثال ، Baseline 2020 ، شامل همه ویژگیهایی است که به تازگی در پایان سال مشخص شده در دسترس بودند.
بسته به پایگاه کاربر خود، ممکن است بتوانید خط پایه را به صورت گسترده در دسترس قرار دهید، یا ممکن است لازم باشد سال پایه قدیمی تری را هدف قرار دهید. با ابزارهای تجزیه و تحلیل یا RUM خود مشورت کنید تا متوجه شوید که کاربران شما کدام نسخه مرورگر را دارند.
browserslist-config-baseline را نصب کنید
هنگامی که تصمیم گرفتید کدام مجموعه ویژگی Baseline را می خواهید هدف قرار دهید، می توانید آن هدف را در ابزارهای توسعه دهنده خود اعمال کنید. ساده ترین راه برای انجام این کار برای هر ابزاری که از فهرست مرورگرها استفاده می کند، نصب browserslist-config-baseline است:
# npm
npm i browserslist-config-baseline@latest -D
# yarn
yarn add --latest browserslist-config-baseline -D
# bun
bun add browserslist-config-baseline@latest -d
چگونه خط پایه را هدف قرار دهیم به طور گسترده در دسترس است
برای هدف قرار دادن Baseline به طور گسترده در دسترس، پیکربندی فهرست browserlist را با استفاده از کلمه کلیدی extends در package.json بهروزرسانی یا اضافه کنید:
{
...
"browserslist": [
"extends browserslist-config-baseline"
]
...
}
هنگامی که browserslist لیست مرورگرهای پشتیبانی شده خود را بارگیری می کند، browserslist-config-baseline به صورت پویا حداقل نسخه های مرورگر فعلی را ایجاد می کند که از همه ویژگی هایی که اکنون به طور گسترده در دسترس هستند پشتیبانی می کند. شما همچنین می توانید extends browserslist-config-baseline به یک فایل .browserslistrc اضافه کنید و به همین ترتیب مدیریت می شود.
نحوه هدف گذاری سال های پایه
اگر میخواهید مجموعه ویژگیهای سال پایه را هدف قرار دهید، یک / و سال را در قالب YYYY به انتهای جستار browserslist خود اضافه کنید:
"browserslist": "extends browserslist-config-baseline/2020"
نحوه تعیین مرورگرهای پایین دست
مجموعه مرورگر اصلی Baseline شامل کروم، اج، فایرفاکس و سافاری است. سایر مرورگرها بر اساس همان کد منبع باز Chrome و Edge-Chromium- هستند و باید از همان مجموعه ویژگیهایی که هر نسخه از Chromium پیادهسازی میکنند پشتیبانی کنند.
browserslist-config-baseline baseline-browser-mapping برای مرتبط کردن نسخه های مرورگر با مجموعه ویژگی هایی که پشتیبانی می کنند استفاده می کند. نقشهبرداریها برای تلفن همراه مرورگر UC و موبایل مرورگر QQ در baseline-browser-mapping موجود است و ممکن است مرورگرهای دیگری در آینده گنجانده شوند.
برای گنجاندن این مرورگرها در پیکربندی Baseline خود، بلافاصله پس از نام ماژول در پیکربندی browserslist خود، /with-downstream را اضافه کنید:
"browserslist": "extends browserslist-config-baseline/with-downstream"
یا:
"browserslist": "extends browserslist-config-baseline/with-downstream/2020"
نمونه هایی از browserslist-config-baseline در عمل
در ابزار بسته بندی
افزودن browserslist-config-baseline به مخزن شما می تواند تأثیر فوری داشته باشد. Babel یک ابزار ساخت محبوب برای بسته بندی جاوا اسکریپت است. اگر از پیشفرضهای بسته @babel/preset-env استفاده میکنید، بسیاری از APIها و متدهای جاوا اسکریپت مدرن با نحو پرمخاطبتر مورد نیاز مرورگرهای قدیمی جایگزین خواهند شد:

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

این را خودتان با استفاده از کد مثال موجود در مخزن آزمایشی پایه Google Chrome Labs امتحان کنید.
در لینتر
برخی از لینترها از قبل با فهرست مرورگرها کار می کنند یا می توان با استفاده از یک ماژول سازگاری با فهرست مرورگرها کار کرد. برای مثال، stylelint میتواند پیکربندی فهرست browserslist را با استفاده از ماژول stylelint-browser-compat مصرف کند. فایل stylelint.config.js خود را برای استفاده از browserslist-config-baseline تنظیم کنید:
module.exports = {
plugins: ['stylelint-browser-compat'],
rules: {
'plugin/browser-compat': [
true,
{
browserslist: ['extends browserslist-config-baseline'],
},
],
},
};
Styelint اکنون CSS را که در حال حاضر بخشی از Baseline به طور گسترده در دسترس نیست، پرچمگذاری میکند:

Styelint همچنین افزونهای را ارائه میکند که به شما امکان میدهد مستقیماً قوانین Baseline را تنظیم کنید، اما اگر قبلاً از فهرست مرورگرها برای مدیریت پیکربندی خود استفاده میکنید، browserslist-config-baseline یک راهحل کشویی است.
نحوه مشارکت در browserslist-config-baseline
اگر میخواهید برای browserslist-config-baseline یک درخواست ویژگی ایجاد کنید، یک مشکل ایجاد کنید یا در مخزن GitHub درخواست کنید.
اگر میخواهید دادههای مرورگر پاییندست بیشتری را ارائه کنید یا مشکل داده را گزارش کنید، یک مشکل یا یک درخواست کشش در مخزن baseline-browser-mapping ایجاد کنید.