Liferay npm Bundler (Deprecated)
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

Liferay npm Bundler

重要

Liferay npm バンドラーは Liferay 2024.Q4/Portal GA129 で廃止され、将来削除される予定です。

liferay-npm-bundler は、Liferay Portal をプラットフォームとしてターゲットとし、(一般的な Web アプリケーションではなく)ウィジェットから npm パッケージを使用することを前提とするバンドラーです( WebpackBrowserifyなど)。

ウィジェット内でnpmパッケージを実行するためのワークフローは、標準のバンドラーとは少し異なります。 JavaScriptを単一のファイルにバンドルする代わりに、完全なWebページが組み立てられたときに、ブラウザーですべてのパッケージを リンク する必要があります。 ウィジェットは、それぞれが独自のコピーをロードするのではなく、モジュールの共通バージョンを共有できます。 liferay-npm-bundlerがこれを処理します。

liferay-npm-bundler に関する情報は、 プロジェクトの Wikiでも見つかります。

Liferay npmバンドラーが内部でどのように機能するか

liferay-npm-bundlerはウィジェットプロジェクトを取得し、そのファイル(npmパッケージを含む)をビルドフォルダーに出力するため、標準のウィジェットビルド(Gradle)でOSGiバンドルを生成できます。 ビルド フォルダーの構造の詳細については、 OSGi バンドルと npm パッケージ構造 リファレンスを参照してください。

liferay-npm-bundlerは、以下のプロセスを使用してOSGiバンドルを作成します。

  1. プロジェクトの package.json ファイルを出力ディレクトリにコピーします。

  2. プロジェクトの依存関係ツリーを走査して、その依存関係を判別します。

  3. プロジェクトの場合、

    a. ルールを介して、 .npmbundlerrc 構成で指定されたソースファイルを実行します。

    b. 構成されたプラグインを使用してプロジェクトのパッケージを前処理します。

    c. プロジェクト内の各 .js ファイルに対して、構成されたプラグインを使用して Babel を実行します。

    d. 構成されたプラグインを使用してプロジェクトパッケージを後処理します。

  4. npmパッケージの依存関係ごとに、

    a. npmパッケージを出力フォルダーにコピーし、バンドル名の前に付けます。 バンドルは、標準のnode_modulesツリー形式ではなく、プレーン バンドル名$package@バージョン 形式でパッケージを保存することに注意してください。 何がコピーされるかを判別するために、バンドラーはプラグインを呼び出してパッケージファイルリストをフィルタリングします。

    b. パッケージファイルに対してルールを実行します。

    c. 設定済みのプラグインを使用してnpmパッケージを前処理します。

    d. npm パッケージ内の各 .js ファイルに対して、構成されたプラグインを使用して Babel を実行します。

    e. 構成されたプラグインを使用してnpmパッケージを後処理します。

前処理ステップと後処理ステップの間の唯一の違いは、それらがいつ実行されるかだけです(それぞれ、Babelが実行される前か後か)。 このワークフローの実行中、liferay-npm-bundlerは構成されたすべてのプラグインを呼び出し、npmパッケージで変換を実行できるようにします(たとえば、 package.json ファイルの変更またはファイルの削除や移動)。

事前フェーズ、事後フェーズ、Babel フェーズは古い動作モード用に設計されたものであり (詳細については、「 新しいモードを使用するためのプロジェクトの移行 」を参照してください)、徐々に新しいモードのルールに置き換えられます。

このリファレンスでは、liferay-npm-bundlerの構成、デフォルトのプリセット、形式などについて説明しています。