設定
ファイル
設定された値は JSON ファイルに格納されます。Ionic CLI は、通常~/.ionic/config.json
にグローバル設定ファイルを設定します。通常はプロジェクトのルートディレクトリに ionic.config.json
という名前で保存されます。
CLI には、プロジェクト設定ファイルおよびグローバル CLI 設定ファイルから設定値を設定および printf するためのコマンドが用意されています。ionic config get
と ionic config set
の使い方については、ionic config--help
を参照してくださ い。
プロジェクト設定ファイル
各 Ionic プロジェクトには、通常はプロジェクトのルートディレクトリに、プロジェクト設定ファイルがあります。以下は注釈付きの ionic.config.json
です。
{
// The human-readable name of the app.
"name": "My App",
// The project type of the app. The CLI uses this value to determine which
// commands and command options are available, what to output for help
// documentation, and what to use for web asset builds and the dev server.
"type": "angular",
// The App ID for Appflow.
"id": "abc123",
// Configuration object for integrations such as Cordova and Capacitor.
"integrations": {
"cordova": {
...
}
},
// Hook configuration--see the Hooks section below for details.
"hooks": {
...
}
}
環境変数
CLI は、次の環境変数を検索 します:
IONIC_CONFIG_DIRECTORY
: The directory of the global CLI config. Defaults to~/.ionic
.IONIC_HTTP_PROXY
: Set a URL for proxying all CLI requests through. See Using a Proxy.IONIC_TOKEN
: Automatically authenticates with Appflow.
Flags
CLI flags は、CLI コマンドの動作を変更するグローバルオプションです。
--help
: Instead of running the command, view its help page.--verbose
: Show all log messages for debugging purposes.--quiet
: Only showWARN
andERROR
log messages.--no-interactive
: Turn off interactive prompts and fancy outputs. If CI or a non-TTY terminal is detected, the CLI is automatically non-interactive.--confirm
: Turn on auto-confirmation of confirmation prompts. Careful: the CLI prompts before doing something potentially harmful. Auto-confirming may have unintended results.
Hooks
CLI は、ビルドの前後など、特定のイベント中にスクリプトを実行できます。CLI にフックするために、以下の npm scripts を package.json
: ファイルで使用できます。:
ionic:serve:before
: dev server が start される前に実行されますionic:serve:after
: dev server が終了される前に実行されますionic:build:before
: web asset の構築がはじまる前に実行されますionic:build:after
: web asset の構築が終了して実行されます。ionic:capacitor:run:before
: executed on capacitor run before capacitor open is executedionic:capacitor:build:before
: executed on capacitor build before capacitor open is executedionic:capacitor:sync:after
: executed duringionic capacitor sync
after a sync
When using a shell script for any of the hooks, hook context is defined in environment variables prefixed with IONIC_CLI_HOOK_CTX_
.
The following example shows the environment variables that are set for the ionic:capacitor:build
hook.
IONIC_CLI_HOOK_CTX_NAME=capacitor:build:before
IONIC_CLI_HOOK_CTX_BUILD_CORDOVA_ASSETS=true
IONIC_CLI_HOOK_CTX_BUILD_ENGINE=browser
IONIC_CLI_HOOK_CTX_BUILD_PROJECT=app
IONIC_CLI_HOOK_CTX_BUILD_TYPE=angular
IONIC_CLI_HOOK_CTX_BUILD_VERBOSE=false
IONIC_CLI_HOOK_CTX_CAPACITOR_APP_ID=io.ionic.starter
IONIC_CLI_HOOK_CTX_CAPACITOR_APP_NAME=ionic-starter-app
IONIC_CLI_HOOK_CTX_CAPACITOR_VERBOSE=false
Hooks は ionic.config.json
で定義することもできます。プロジェクト内で Hooks オブジェクトを定義します。各キーはフックの名前(先頭にionic:
を付けない)で、値は JavaScript ファイルへのパスまたはパスの配列です。
次の例では、ファイルは ionic:build:before
フックでインポートされ、実行されます。
"hooks": {
"build:before": "./scripts/build-before.js"
},
JavaScript Hook ファイルは、フックが実行されるたびに単一の引数(ctx
)が渡される単一の関数をエクスポートする必要があります。
引数は、Hook ファイルに指定されたコンテキストであり、Hook ごと、および呼び出しごとに異なります。
./scripts/build-before.js
:
module.exports = function (ctx) {
console.log(ctx);
};
Multi-app Projects
Available in CLI 6.2.0+The Ionic CLI supports a multi-app configuration setup, which involves multiple Ionic apps and shared code within a single repository, or monorepo.
Ionic CLI は multi-app 構成セットアップをサポートしており、複数の Ionic アプリケーションと共有コードが単一のリポジトリ monorepo 内に存在することができます。
If you're using Angular, please see this article for examples.
セットアップステップ
-
Create a directory and initialize a monorepo (see Project Structure for full details).
-
Initialize the monorepo as an Ionic multi-app project. This will create a multi-app
ionic.config.json
file. See Config File for full details.$ ionic init --multi-app
-
Use
ionic start
to create Ionic apps orionic init
to initialize existing apps (see Adding an App for full details).