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

Liferay CLI ツール

重要

Liferay CLI ツールは Liferay 2024.Q4/Portal GA129 以降廃止されており、将来削除される予定です。

Liferay CLI ツールを使用すると、Liferay の REST および GraphQL サービスとインターフェースする Angular、JavaScript、 React、共有バンドル、または Vue.js プロジェクトを簡単に作成できます。 liferayコマンドを使用すると、プロジェクトの生成、ビルド、デプロイを行うことができます。

Liferay CLIツールは、Liferay DXP 7.4+用のJavaScriptアプリケーションプロジェクトを作成するために使用されていた古いYeomanジェネレータに代わるものです。 古いバージョンではどちらの方法でも使用できますが、7.4以降ではYeomanジェネレーターの代わりにCLIツールを使用する必要があります。

CLIツールのインストール

次のコマンドを実行すると、CLIツールがローカルシステムにインストールされます。

npm install -g @liferay/cli

CLI ツールをグローバルにインストールしたくない場合は、 npxを使用して、ツールをインストールせずにコマンドを実行することもできます。 たとえば、 npx @liferay/cli new [project-name]を実行して、 新しいプロジェクトを生成 できます。

プロジェクトの生成

liferay new コマンドを使用して、新しい Client Extension または Liferay Platform プロジェクトを作成します。

  1. ターミナルを開き、プロジェクトを作成したい場所に移動します。 次のコマンドを実行します。

    	liferay new [project-name]
    
  2. プロンプトで新規プロジェクトの名前を入力します。 この名前がIDとして使用されます。

  3. リモートアプリケーションプロジェクトを作成するか、Liferay プラットフォームプロジェクトを作成するかを選択します。

    矢印キーを使って、リモートアプリケーションまたは Liferay プラットフォームプロジェクトを選択し、Enter キーを押します。

    クライアント拡張機能 は、Liferay DXP インスタンスがアクセスしてアプリケーションとして使用できるリモートサーバー上でホストされます。 Liferayプラットフォームのプロジェクトは、Liferay DXP/Portalにデプロイ可能です。

  4. プロンプトで、新規プロジェクトについて、人間が読み取り可能な説明を入力します。 デフォルト値は、「New Project」です。

  5. プロジェクトのターゲットプラットフォームを選択します。 選択したターゲットプラットフォームによって、プロジェクトのデフォルトの依存関係と、プロジェクトのビルドに使用するルール(例えば、プロジェクトがターゲットプラットフォームの利用可能なすべてのJavaScript APIにアクセスする必要があるかどうか)が決定されます。

    バージョン 7.1以降では、Liferay PortalまたはLiferay DXPのターゲットプラットフォームを選択することができます。 また、「Liferay Portal CE (not sharing platform's packages)」を選択すると、プロジェクトの package.json ファイルに @lifray/portal-agnostic ターゲットを定義することができます。 この場合、プロジェクトにはLiferay Portalにバンドルされている追加のパッケージは含まれず、必要な依存関係はビルドツールとバンドルツールだけです。

    リモートアプリケーションプロジェクトを選択した場合、バージョン7.4+しか選択できません。 プラットフォームのパッケージを共有しない オプションの代わりに特定のバージョンを選択した場合、プロジェクトは Liferay プラットフォームから React パッケージを取得します。 このオプションは、プロジェクトのサイズと手動依存を減らしますが、プロジェクトがそのバージョンにバンドルされているパッケージを使用するように制限されます。

  6. プロンプトに表示されるオプションから、作成するプロジェクトの種類を選択します。

    矢印キーを使い、Enterキーを押して、作成するプロジェクトの種類を選択します。

    リモートアプリケーションプロジェクトの作成を選択した場合、Reactタイプのみ選択可能です。

  7. Liferayプラットフォームプロジェクトを作成することを選択した場合、ウィジェットのカテゴリーを選択します。 カテゴリーは、ページ編集時にウィジェットのリストでどのようにソートされるかを決定します。 デフォルト値は category.sample (「Sample」ウィジェットカテゴリ用)ですが、任意のカスタム値に変更することが可能です。

    リモートアプリケーションプロジェクトを作成する場合、カスタム要素のHTMLタグ名を選択します。 名前には少なくとも1つのハイフン(-)を含み、文字で始める必要があります。 次に、shadow DOMを使用してレンダリングするかどうかのプロンプト(yまたはn)に答えます。

CLIツールは、選択した名前で、新しいフォルダーにプロジェクトを作成します。

プロジェクトの構築

次のコマンドで、CLIツールで作成したプロジェクトをビルドします。

liferay build

これでプロジェクトがビルドされ、出来上がったJARファイルがプロジェクトのdist/ディレクトリに置かれます。 そして、そのJARを任意のLiferayインスタンスにデプロイすることができます。

CLIツールで作成されたプロジェクト内で、 npm run buildliferay buildのエイリアスとして実行することもできます。

プロジェクトのデプロイ

このコマンドを使用して、プロジェクトの dist/ ディレクトリに保存されている JAR ファイルをローカルの Liferay インストールにデプロイします ( liferay buildを実行した後)。

liferay deploy

このタスクを初めて実行すると、デプロイできるようにLiferayのインストールディレクトリを要求して、その回答をプロジェクトのフォルダにある .liferay.json ファイルに格納します。 このファイルで設定したディレクトリを変更することで、デプロイ先を変更します。

プロジェクトのビルドファイルの消去

古い成果物がビルドに干渉する場合は、 clean コマンドを使用して、 build コマンドと deploy コマンドによって作成された build/dist/ を削除します。

プロジェクトのディレクトリからこのコマンドを実行すると、これらのフォルダが削除されます。

liferay clean

Yeomanジェネレータで作成したプロジェクトのアップグレード

CLIツールのコマンドを実行するには、プロジェクトが正しく構成されている必要があります。 古いYeomanジェネレータ( yo liferay-js コマンドを使用)で作成されたプロジェクトは、まず新しいアーキテクチャにアップグレードする必要があります。

警告

upgrade-project コマンドは、Yeoman ジェネレーターによって作成されたプロジェクトの一部のみをアップグレードします。 その他、プロジェクトに行った変更・カスタマイゼーションはそのまま残ります。 アップグレードを試みる前にプロジェクトをバックアップし、アップグレードが自分の変更と競合する場合に備えて、手動で変更する準備をしておいてください。

このコマンドを実行すると、Yeoman ジェネレーターで作成した React、Angular、または Vue.js プロジェクトが Liferay CLI ツールで動作するようアップグレードされます。

liferay upgrade-project

他のツールで作成したプロジェクトを適用する

また、他のツールで作成したプロジェクトをLiferay CLIツールでデプロイできるように適応させることも可能です。 これらのツールで作成したプロジェクトを適応することができます。

これらの他のジェネレータで作成されたプロジェクトを適応させるには、プロジェクトのディレクトリからこのコマンドを実行します。

liferay adapt

CLIツールは、プロジェクトの依存関係から検出されたフレームワークに基づいて、プロジェクトを適応させます。 プロジェクトの package.json ファイルから、これらの特定の依存関係 ( dependency または devDependencyとしてリストアップされています) を探します。

  • Reactの場合: react-scripts

  • Angularの場合: @angular/cli

  • Vue.jsの場合: @vue/cli-service