Page Contents

LoopBack4には、便利なコマンドラインツールが用意されおり、すぐに使い始めることができます。 コマンドラインツールは、アプリケーションプロジェクトと拡張プロジェクトをそれぞれ生成し、それらの依存関係をインストールします。 また、CLIは、プロジェクトのコントローラーなどの成果物を生成するのにも役立ちます。 生成されたソースは、必要に応じてユーザー独自のコードで拡張できます。

LoopBack4のCLIコマンドを使用するには、次のコマンドを実行します。

npm install -g @loopback/cli

LoopBackプロジェクトの生成

コマンド 説明 関連ページ
lb4 新しいLoopBack4アプリケーションを作成する。 アプリケーション・ジェネレーター
lb4 extension 新しいLoopBack4拡張機能を作成する。 エクステンション・ジェネレーター
lb4 update LoopBackモジュールのプロジェクトの依存関係を確認または更新する。 プロジェクトの依存関係の更新
lb4 copyright JavaScript/TypeScriptファイルのcopyright/licenseヘッダーを追加または更新する。 コピーライト・ジェネレーター
lb4 example LoopBackサンプルプロジェクトの1つをダウンロードする。 サンプルのダウンロード

LoopBackアーティファクトの生成

コマンド 説明 関連ページ
lb4 controller LoopBack4アプリケーションに新しいコントローラーを追加する。 コントローラー・ジェネレーター
lb4 datasource LoopBack4アプリケーションに新しいデータソースを追加する。 データソース・ジェネレーター
lb4 import-lb3-models 1つ以上のLoopBack3モデルをLoopBack4アプリケーションにインポートする。 LoopBack 3モデルのインポーター
lb4 model LoopBack4アプリケーションに新しいモデルを追加する。 モデル・ジェネレーター
lb4 relation LoopBack4アプリケーションで2つのモデル間に関係を追加する。 リレーション・ジェネレーター
lb4 repository 選択したモデルの新しいリポジトリをLoopBack4アプリケーションに追加する。 リポジトリ・ジェネレーター
lb4 service LoopBack4アプリケーションに新しいリモートまたはローカルサービスを追加する。 サービス・ジェネレーター
lb4 openapi OpenAPI仕様からコントローラーとモデルを生成する。 OpenAPIジェネレーター
lb4 discover リレーショナルデータベースからモデルを検出する。 モデルの検出
lb4 observer アプリケーションの開始/停止のライフサイクルオブザーバーを生成する。 ライフサイクルオブザーバー・ジェネレーター
lb4 interceptor インターセプターを生成する。 グローバルインターセプター・ジェネレーター
lb4 rest-crud モデルエンドポイントのREST構成を生成する モデルエンドポイント・ジェネレーター

LoopBack依存関係のアップグレード

アプリケーションが最初に lb4コマンドでソースを生成するとき、cliバージョンを以下のように .yo.rc.json に追加します。

{
  "@loopback/cli": {
    "version": "1.21.4"
  }
}

特定のバージョンのcliに対応するLoopBackモジュールのリストを確認するには、以下のコマンドを実行します。

lb4 -v

以下のように現在のバージョンのcliでリリースされている互換モジュールを確認できます。

@loopback/cli version: 1.23.1

@loopback/* dependencies:
  - @loopback/authentication: ^3.1.1
  - @loopback/boot: ^1.5.8
  - @loopback/build: ^2.0.13
  - @loopback/context: ^1.23.2
  - @loopback/core: ^1.10.4
  - @loopback/metadata: ^1.3.4
  - @loopback/openapi-spec-builder: ^1.2.15
  - @loopback/openapi-v3: ^1.9.9
  - @loopback/repository-json-schema: ^1.10.2
  - @loopback/repository: ^1.15.1
  - @loopback/rest: ^1.20.1
  - @loopback/testlab: ^1.9.1
  - @loopback/docs: ^2.2.1
  - @loopback/example-hello-world: ^1.2.16
  - @loopback/example-log-extension: ^1.2.16
  - @loopback/example-rpc-server: ^1.2.16
  - @loopback/example-todo: ^1.8.2
  - @loopback/example-soap-calculator: ^1.6.17
  - @loopback/service-proxy: ^1.3.8
  - @loopback/http-caching-proxy: ^1.1.15
  - @loopback/http-server: ^1.4.15
  - @loopback/example-todo-list: ^1.11.1
  - @loopback/dist-util: ^0.4.0
  - @loopback/rest-explorer: ^1.4.1
  - @loopback/eslint-config: ^4.1.1
  - @loopback/example-express-composition: ^1.7.1
  - @loopback/example-greeter-extension: ^1.3.16
  - @loopback/booter-lb3app: ^1.3.2
  - @loopback/example-lb3-application: ^1.1.16
  - @loopback/example-greeting-app: ^1.2.2
  - @loopback/example-context: ^1.2.16
  - @loopback/repository-tests: ^0.5.1
  - @loopback/extension-health: ^0.2.8
  - @loopback/authorization: ^0.4.1
  - @loopback/rest-crud: ^0.3.2
  - @loopback/security: ^0.1.4
  - @loopback/authentication-passport: ^1.0.1

プロジェクトが生成されたら、lb4コマンドを実行します。 するとプロジェクトに現在のCLIと互換性のないバージョンがあるかどうかが確認され、続行または終了するようにユーザーに求められます。

package.jsonの依存関係を更新するには、npm updateまたはnpm-checkを使用します。 依存関係の変更により、既存のアプリケーションが壊れる可能性がある点は注意が必要です。 アップグレード後もビルド/テスト/実行が成功することを確認してください。

命名規則

LoopBack4では、クラス、変数、およびファイルの命名に異なる規則を使用しています。

  • クラス名: PascalCase
  • ファイル名: kebab-case
  • 変数名: camelCase

以下ではいくつかの例を示します。

インプット ケース クラス名 モデルファイル名
MyModel インプットが同じ場合。 MyModel my-model.model.ts
my_model アンダースコアを削除する場合。 MyModel my-model.model.ts
mymódel アクセント付きの文字を置き換える場合。 Mymodel mymodel.model.ts
Car4share インプットに数字が含まれる場合。 Car4Share car-4-share.model.ts
MyModel2 インプットが数字で終わる場合。 MyModel2 my-model2.model.ts
My-Model クラス名に記号を含めることはできない。 無効 無効
4user クラス名を数字で始めることはできない。 無効 無効