スクリプトの記述
はじめに
プロジェクトのクライアントとファンクションのスクリプトを定義して実行できます。スクリプトを通じて、Catalyst CLIコマンドやローカル環境のターミナルコマンドを実行できます。
スクリプトは、プロジェクトディレクトリのルートにある catalyst.json ファイルのfunctionsまたはclientスコープ内のscriptsフィールドに記述する必要があります。このファイルには、プロジェクトディレクトリコンポーネントの設定とターゲット情報が含まれています。catalyst.json設定ファイルのサンプルコード構造を以下に示します。
サンプルスクリプト
上の画像に示されたスクリプトについて説明します。このcatalyst.jsonファイルのコードは、2つのライフサイクルスクリプトと2つのカスタムスクリプトを定義しています。ライフサイクルスクリプトの実行によりカスタムスクリプトが実行されます。ここでのスクリプトは、プロジェクトのクライアントコンポーネント用に定義されているため、クライアントのスコープ内に含まれています。
コードは以下のとおりです:
{
"functions": {
"targets": [
"catly"
],
"ignore": [],
"source": "functions"
},
"client": {
"source": "client/app/build",
"ignore": [],
"scripts": {
"packageJson": "cd client && cp client-package.json app/build/",
"build": "cd client/app && yarn install && yarn build",
"preserve": "catalyst run client:build && catalyst run client:packageJson",
"predeploy": "catalyst run client:build && catalyst run client:packageJson"
}
}
}
上記の例のように、ライフサイクルスクリプト内でカスタムスクリプトを catalyst run コマンドを使用して実行する場合、実行対象のコンポーネントを指定する必要があります。これは、たとえばcd(ディレクトリ変更)ターミナルコマンドを実行する場合に必要です。そのコンポーネントのディレクトリのルートが、ディレクトリ変更コマンドの実行元ディレクトリとみなされます。
上記で記述されたスクリプトのロジックフローは次のとおりです:
-
クライアントコンポーネントに対してcatalyst serveまたはcatalyst deployコマンドを実行すると、コマンドの実行前にそれぞれpreserveまたはpredeployスクリプトが開始されます。
-
preserveとpredeployスクリプトには同じコマンド実行が含まれています。最初のアクションはcatalyst run client:buildコマンドで、クライアントコンポーネントのbuildカスタムスクリプトを実行します。2番目のアクションはcatalyst run client:packageJsonで、クライアントコンポーネントのpackageJsonスクリプトを実行します。
-
buildカスタムスクリプトは次のアクションを順番に実行します:
- ターミナルがclient/appディレクトリに移動します。
- yarn installコマンドが実行され、Yarnパッケージマネージャーを使用してNode.jsの依存関係がインストールされます。
- yarn buildコマンドが実行され、クライアントアプリケーションがビルドされます。
-
packageJsonカスタムスクリプトは次のアクションを順番に実行します:
- ターミナルがclientディレクトリに移動します。
- client-package.jsonファイルがクライアントディレクトリからコピーされ、app/buildディレクトリに貼り付けられます。
これらのスクリプトが実行された後、コンポーネントがサーブまたはデプロイされます。
最終更新日 2026-02-23 18:09:41 +0530 IST
Yes
No
Send your feedback to us
