Baseline mit Browserslist verwenden

Veröffentlicht: 7. Mai 2025

Browserslist ist eines der beliebtesten Tools zum Konfigurieren der Mindestversionen unterstützter Browser in Frontend-Codebases. Entwickler fügen ihrer package.json-Datei eine browserslist-Abfrage hinzu und Browserslist stellt eine Liste der mindestens unterstützten Browser bereit. Browserslist kann mit einer Vielzahl gängiger Linting-, Polyfill- und Verpackungstools verwendet werden, darunter:

Referenzziele

Wenn Sie sich für Baseline entscheiden, sollten Sie Ihre Nutzerbasis berücksichtigen und entscheiden, auf welche Baseline-Funktionen Sie Ihre Anzeigen ausrichten möchten:

  • Baseline – Weit verbreitet umfasst alle Webfunktionen, die vor mindestens 30 Monaten vom Baseline-Kernbrowser vollständig unterstützt wurden.
  • Funktionssätze für das Referenzjahr, z. B. Referenzjahr 2020, umfassen alle Funktionen, die am Ende des angegebenen Jahres neu verfügbar waren.

Je nach Nutzerbasis können Sie die Ausrichtung auf „Baseline: Weitgehend verfügbar“ vornehmen oder auf ein älteres Baseline-Jahr ausrichten. Sehen Sie in Ihren Analyse- oder RUM-Tools nach, welche Browserversionen Ihre Nutzer verwenden.

browserslist-config-baseline installieren

Sobald Sie sich entschieden haben, auf welche Baseline-Funktionen Sie das Targeting ausrichten möchten, können Sie dieses Ziel auf Ihre Entwicklertools anwenden. Am einfachsten ist es, browserslist-config-baseline zu installieren, um Tools zu verwenden, die browserslist verwenden:

# npm
npm i browserslist-config-baseline@latest -D

# yarn
yarn add --latest browserslist-config-baseline -D

# bun
bun add browserslist-config-baseline@latest -d

Targeting auf „Baseline: Weitgehend verfügbar“

Wenn Sie eine Ausrichtung auf „Baseline – Weitgehend verfügbar“ vornehmen möchten, aktualisieren oder fügen Sie in package.json eine browserlist-Konfiguration mit dem Keyword extends hinzu:

{
  ...
  "browserslist": [
    "extends browserslist-config-baseline"
   ]
  ...
}

Wenn browserslist die Liste der unterstützten Browser lädt, generiert browserslist-config-baseline dynamisch die aktuellen Mindestbrowserversionen, die alle Funktionen unterstützen, die derzeit weithin verfügbar sind. Sie können extends browserslist-config-baseline auch einer .browserslistrc-Datei hinzufügen. Die Datei wird dann auf dieselbe Weise verarbeitet.

Targeting auf Vergleichsjahre

Wenn Sie das Targeting auf ein Feature-Set für ein Referenzjahr ausrichten möchten, fügen Sie am Ende der browserslist-Abfrage ein / und das Jahr im Format YYYY hinzu:

"browserslist": "extends browserslist-config-baseline/2020"

Nachgeschaltete Browser angeben

Die Baseline-Browser umfassen Chrome, Edge, Firefox und Safari. Andere Browser basieren auf demselben Open-Source-Code wie Chrome und Edge – Chromium – und sollten dieselben Funktionen unterstützen wie die jeweilige Chromium-Version, die sie implementieren.

browserslist-config-baseline verwendet baseline-browser-mapping, um Browserversionen den von ihnen unterstützten Funktionspaketen zuzuordnen. Zuordnungen für den mobilen UC Browser und den mobilen QQ Browser sind in baseline-browser-mapping verfügbar. Weitere Browser werden möglicherweise in Zukunft hinzugefügt.

Wenn Sie diese Browser in die Baseline-Konfiguration aufnehmen möchten, fügen Sie in der browserslist-Konfiguration direkt nach dem Modulnamen /with-downstream hinzu:

"browserslist": "extends browserslist-config-baseline/with-downstream"

Oder:

"browserslist": "extends browserslist-config-baseline/with-downstream/2020"

Beispiele für browserslist-config-baseline in der Praxis

In den Verpackungstools

Wenn Sie browserslist-config-baseline Ihrem Repository hinzufügen, kann dies sofortige Auswirkungen haben. Babel ist ein beliebtes Build-Tool zum Verpacken von JavaScript. Wenn Sie die Standardeinstellungen des @babel/preset-env-Pakets verwenden, werden viele moderne JavaScript-APIs und ‑Methoden durch die ausführlichere Syntax ersetzt, die von älteren Browsern benötigt wird:

Eine Terminalsitzung, in der zu sehen ist, dass der Befehl „npm run build“ auf einer JavaScript-Datei namens „test.js“ ausgeführt wurde.  Die Ausgabedatei hat eine Größe von 12 Kilobyte.

Wenn Sie browserslist-config-baseline jedoch auf das Ziel „Baseline 2020“ für dasselbe Beispielprojekt festlegen, wird die Ausgabegröße dieses JavaScripts drastisch reduziert, da weniger Syntaxtransformationen erforderlich sind:

Eine zweite Terminalsitzung, die zeigt, dass der Befehl „npm run build“ jetzt eine Datei mit 1,5 Kilobyte erzeugt hat, wenn babel auf das Ziel „Baseline 2020“ festgelegt ist.

Testen Sie das selbst mit dem Beispielcode im Repository baseline-demos von Google Chrome Labs.

In Linter

Einige Linter funktionieren bereits mit Browserslist oder können mit einem Kompatibilitätsmodul für Browserslist konfiguriert werden. stylelint kann beispielsweise eine browserslist-Konfiguration mit dem Modul stylelint-browser-compat verwenden. Legen Sie in Ihrer stylelint.config.js-Datei fest, dass browserslist-config-baseline verwendet werden soll:

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

Stylelint kennzeichnet jetzt CSS, das derzeit nicht Teil der allgemein verfügbaren Baseline ist:

eine Liste von Stylelint-Warnungen, in denen CSS-Code hervorgehoben wird, der in älteren Browsern nicht funktioniert.

Stylelint bietet auch ein Plug-in, mit dem Sie Baseline-Regeln direkt festlegen können. Wenn Sie jedoch bereits browserslist für die Konfiguration verwenden, ist browserslist-config-baseline eine Drop-in-Lösung.

So können Sie zu browserslist-config-baseline beitragen

Wenn du eine Funktionsanfrage für browserslist-config-baseline stellen möchtest, erstelle ein Problem oder eine Pull-Anfrage im GitHub-Repository.

Wenn Sie weitere Browserdaten zur Verfügung stellen oder ein Datenproblem melden möchten, erstellen Sie ein Problem oder einen Pull-Request im baseline-browser-mapping-Repository.