liferay-npm-bundlerの新しいモードを使用するためのプロジェクトの移行
Liferay npm バンドラーは Liferay 2024.Q4/Portal GA129 で廃止され、将来削除される予定です。
問題 #303以降、liferay-npm-bundler には 2 つの操作モードが利用可能になりました。 バンドラーを実行する前にファイルを前処理したり、Webpack(一連のルールを介してソースファイルを処理する)のように、バンドラーを使用してプロセス全体を処理したりできます。 次の手順に従ってプロジェクトを移行し、新しい構成モードを使用して、バンドラーがプロセス全体を処理できるようにします。
-
プロジェクトの
package.jsonファイルを開き、liferay-npm-bundlerのみを使用するようにbuildスクリプトを更新します。古いバージョン:
{ "scripts":{ "build": "babel --source-maps -d build src && liferay-npm-bundler" } }新しいバージョン:
{ "scripts":{ "build": "liferay-npm-bundler" } } -
プロジェクトの
.npmbundlerrcファイルでバンドラーが使用するルールを定義します(たとえば、ファイルをトランスパイルするためにbabelを実行する)。 以下の設定例では、babel-loaderを使用してJavaScriptファイルをトランスパイルするためのルールを定義しています。 デフォルト ローダーの完全なリストについては、 デフォルト ローダー リファレンス を参照してください。 カスタム ローダーを作成するには、 Bundler 用のカスタム ローダーの作成 の手順に従います。 liferay-npm-bundlerはbabelで/src/の* .jsファイルを処理し、デフォルトの/build/フォルダに結果を書き込みます。{ "sources": ["src"], "rules": [ { "test": "\\.js$", "exclude": "node_modules", "use": [ { "loader": "babel-loader", "options": { "presets": ["env"] } } ] } ] }注liferay-npm-bundler の新しいモードは webpack と非常によく似た動作をしますが、 webpack とは互換性がありません。 Webrayは単一のJavaScriptバンドルファイルを作成し、liferay-npm-bundlerはAMDローダーをターゲットにします。