コンテンツにスキップ
ドキュメント
設定
サポートされているブラウザ

サポートされているブラウザ

v1.1.10以降、browserslistを使用して、サポートされているブラウザを自動的に設定できるようになりました。

使用方法

.swcrc
{
  "env": {
    "targets": {
      "chrome": "79"
    },
    "mode": "entry",
    "coreJs": "3.22"
  }
}

オプション

targets

string | Array<string> | { [string]: string }、デフォルトは{}です。

プロジェクトでサポート/ターゲットとする環境を記述します。これは、browserslist互換 (新しいタブで開きます)クエリ(制限付き) (新しいタブで開きます)にすることができます。

.swcrc
{
  "env": {
    "targets": "> 0.25%, not dead"
  }
}

または、サポートする最小環境バージョンのオブジェクト

.swcrc
{
  "env": {
    "targets": {
      "chrome": "58",
      "ie": "11"
    }
  }
}

環境例

  • chrome
  • opera
  • edge
  • firefox
  • safari
  • ie
  • ios
  • android
  • node
  • electron

targetsが指定されていない場合、SWCはbrowserslistを使用してターゲット情報を取得します。

path

  • string、デフォルトは現在のディレクトリです。
  • pathは、browserslistモジュールとbrowserslist設定ファイルを読み込むディレクトリを指定します。たとえば、.browserslistrcまたはpackage.jsonのbrowserslistフィールドです。これは、ビルドシステムがプロジェクトのルートにない場合に役立ちます。

mode

⚠️

"foo"["a" + "t"]()のような使用方法の場合、usageモードは現在Babelほど効率的ではありません。 SWCは式"a" + "t"を評価せず、String.prototype.atポリフィルを含めません。

skip

バンドルサイズを小さくするためにスキップするES機能を定義します。たとえば、.swcrcは次のようになります。

.swcrc
{
  "env": {
    "skip": ["core-js/modules/foo"]
  }
}

coreJs

  • string、デフォルトはundefinedです。
  • coreJsは、使用するcore-jsのバージョンを指定します。swcでサポートされているcore-jsバージョンを指定できます。例:"3.22"

このオプションは、mode: "usage"またはmode: "entry"と組み合わせて使用​​すると効果があります。 最新の機能のポリフィルが含まれていない可能性がある"3""3.0"と解釈されるため、マイナーバージョン(例:"3.22")を指定することをお勧めします。

追加オプション

  • debug:(boolean)デフォルトはfalseです。
  • dynamicImport:(boolean)デフォルトはfalseです。
  • loose:(boolean)デフォルトはfalseです。許可するプラグインに対してloose変換を有効にします。
  • include:(*string[]*)core-jsモジュール(es.math.sign)またはSWCパス(transform-spread)を指定できます。
  • exclude:(string[]core-js モジュール(es.math.sign など)または SWC パス(transform-spread など)を指定できます。
  • shippedProposals:(boolean)デフォルトは false です。
  • forceAllTransforms:(boolean)デフォルトは false です。可能なすべての変換を有効にします。