Babeljs-babel-plugins
BabelJS-Babelプラグイン
BabelJSは、使用可能なプリセットとプラグインに基づいて、指定されたコードの構文を変更するjavascriptコンパイラです。 バベルのコンパイルの流れには、次の3つの部分が含まれます-
- 解析中
- 変身
- 印刷
babelに与えられたコードは、構文が変更されただけで返されます。 コードをes6からes5に、またはその逆にコンパイルするために、プリセットが.babelrcファイルに追加されるのをすでに見てきました。 プリセットはプラグインのセットにすぎません。 コンパイル時にプリセットまたはプラグインの詳細が指定されていない場合、Babelは何も変更しません。
私たちは今、次のプラグインについて議論しましょう-
- 変換クラスのプロパティ
- 変換指数演算子
- の
- オブジェクトの残りと広がり
- 非同期/待機
次に、プロジェクトのセットアップを作成し、いくつかのプラグインで作業します。これにより、Babelのプラグインの要件を明確に理解できます。
コマンド
babelに必要なパッケージをインストールする必要があります– babel cli、babel core、babel-presetなど。
babel 6のパッケージ
babel 7のパッケージ
プロジェクトでjsファイルを作成し、jsコードを記述します。
クラス-Transform-class-properties
この目的のために以下に示すコードを遵守してください-
例
現在、プリセットまたはプラグインの詳細をbabelに提供していません。 コマンドを使用してコードをトランスパイルする場合-
コードをそのまま入手します。 .babelrc ファイルにプリセットを追加しましょう。
注-プロジェクトのルートフォルダ内に .babelrc ファイルを作成します。
プリセットは既にインストールされています。今、私たちは再びコマンドを実行しましょう-
ES6では、クラス構文は次のとおりです
コンストラクターがあり、クラスのすべてのプロパティはその内部で定義されます。 ケースでは、クラス外でクラスプロパティを定義する必要があります。
例
上記のコードをコンパイルすると、babelでエラーがスローされます。 これにより、コードがコンパイルされなくなります。
これを希望どおりに機能させるために、babel-plugin-transform-class-propertiesと呼ばれるbabelプラグインを使用できます。 それを機能させるために、次のように最初にインストールする必要があります-
babel 6のパッケージ
babel 7のパッケージ
プラグインをbabel 6の.babelrcファイルに追加します-
ここで、コマンドを再度実行します。
コマンド
- main_out.jsにコンパイル*
出力
以下は、ブラウザで使用したときに得られる出力です-
べき乗演算子-変換指数演算子
例
べき乗演算子を変換するには、次のようにプラグインをインストールする必要があります-
バベル6のパッケージ
バベル7のパッケージ
babel 6の場合、次のようにプラグインの詳細を .babelrc ファイルに追加します-
コマンド
出力
の
babel6および7のプラグインに必要なパッケージは次のとおりです-
バベル6
バベル7
コマンド
出力
オブジェクトレストスプレッド
babel6および7のプラグインに必要なパッケージは次のとおりです-
バベル6
バベル7
コマンド
出力
非同期/待機
babel 6には次のパッケージをインストールする必要があります-
babel 7のパッケージ
コマンド
約束がサポートされていないブラウザでは機能しないため、ポリフィルを使用する必要があります。
出力