---
sidebar_position: 5
---

# プロジェクト構成

プロジェクト構成は、プロジェクトディレクトリ内の`wails.json`ファイルで設定します。 ファイルの構造は次のとおりです:

```json
{
    "name": "[プロジェクト名。]",
    "assetdir": "[コンパイルされたアセットディレクトリへの相対パス。通常は自動的に推測されるため、空で構いません。]",
    "reloaddirs": "[再読み込みのトリガーとなる追加のディレクトリ(カンマ区切り)。高度なアセット構成をとる場合にのみ使用します。]",
    "build:dir": "[ビルドファイルが存在するディレクトリ。 デフォルトは'build'です。']",
    "frontend:dir": "[フロントエンドディレクトリの相対パス。 デフォルトは'frontend'です。]",
    "frontend:install": "[node依存関係をインストールするために、フロントエンドディレクトリで実行するコマンド。一般的には`npm install`です。]",
    "frontend:build": "[アセットをビルドするために、フロントエンドディレクトリで実行するコマンド。一般的には`npm run build`です。]",
    "frontend:dev": "[このコマンドはfrontend:dev:buildへ置換されました。 frontend:dev:buildが指定されていない場合は、代わりにこのコマンドが実行されます。 このコマンドも指定されていない場合は、代わりにfrontend:buildが実行されます。]",
    "frontend:dev:build": "[開発モードにおけるfrontend:buildと同様のコマンド。 指定されていない場合は、代わりにfrontend:devが実行されます。]",
    "frontend:dev:install": "[開発モードにおけるfrontend:installと同様のコマンド。 指定されていない場合は、代わりにfrontend:installが実行されます。]",
    "frontend:dev:watcher": "[`wails dev`実行時に別プロセスで実行するコマンド。 サードパーティ製のウォッチャや開発サーバを起動したい場合に便利です。]",
    "frontend:dev:serverUrl": "[Viteなど、アセットを提供するサードパーティ製の開発サーバのURL。 'auto'に設定すると、Viteの出力から自動的に開発サーバURLを推測します。]",
    "wailsjsdir": "[自動生成されるJSモジュールを出力するディレクトリへの相対パス。]",
    "version": "[プロジェクト構成のバージョン]",
    "outputfilename": "[出力バイナリのファイル名]",
    "debounceMS": 100, // アセットファイルに変更があった場合に、開発サーバが再読み込みを行うまでのデフォルトの待ち時間。
    "devServer": "[Wailsの開発サーバをバインドするアドレス。 デフォルト値: localhost:34115]",
    "appargs": "[開発モードのときに、アプリケーションに渡されるシェルスタイルの引数。]",
    "runNonNativeBuildHooks": false, // ホストOS以外のOS用にビルドフックが定義されている場合、それらを実行するかどうか。
    "preBuildHooks": {
        "GOOS/GOARCH": "[指定されたGOOS/GOARCHのビルドの前に実行されるコマンド。${platform}は'GOOS/GOARCH'に置換されます。 'GOOS/GOARCH'フックは、'GOOS/*'および'*/*'フックの前に実行されます。]",
        "GOOS/*": "[指定されたGOOSのビルド前に実行されるコマンド。${platform}は'GOOS/GOARCH'に置換されます。 'GOOS/*'フックは、'*/*'フックの前に実行されます。]",
        "*/*": "[毎回のビルドの前に実行されるコマンド。${platform}は'GOOS/GOARCH'に置換されます。]"
    },
    "postBuildHooks": {
        "GOOS/GOARCH": "[指定されたGOOS/GOARCHのビルドの後に実行されるコマンド。${platform}は'GOOS/GOARCH'に置換され、${bin}はコンパイル済みバイナリへのパスに置換されます。 'GOOS/GOARCH'フックは、'GOOS/*'および'*/*'フックの前に実行されます。]",
        "GOOS/*": "[指定されたGOOSのビルド後に実行されるコマンド。${platform}は'GOOS/GOARCH'に置換され、${bin}はコンパイル済みバイナリへのパスに置換されます。 'GOOS/*'フックは、'*/*'フックの前に実行されます。]",
        "*/*": "[毎回のビルドの後に実行されるコマンド。${platform}は'GOOS/GOARCH'に置換され、${bin}はコンパイル済みバイナリへのパスに置換されます。]"
    },
    "info": { // マニフェストやバージョン情報で使用されるデータ。
        "companyName": "[会社名。 デフォルト値: [プロジェクト名]]",
        "productName": "[製品名。 デフォルト値: [プロジェクト名]]",
        "productVersion": "[製品バージョン。 デフォルト値: '1.0.0']",
        "copyright": "[製品の著作権。 デフォルト値: 'Copyright.........']",
        "comments": "[アプリケーションの説明。 デフォルト値: 'Built using Wails (https://wails.app)']"
    },
    "nsisType": "['multiple': アーキテクチャごとに1つのインストーラ。 'single': ビルドした全アーキテクチャに対応する単一ユニバーサルインストーラ。 デフォルト値: 'multiple']",
    "obfuscated": "[アプリ難読化を実行するかどうか。 デフォルト値: false]",
    "garbleargs": "[obfuscatedフラグがtrueの際に、garbleコマンドへ渡す引数。]"
}
```

このファイルは、Wails CLIで`wails build`コマンドまたは`wails dev`コマンドを実行した際に読み込まれます。

`wails build/dev`コマンドを実行時に、`assetdir`、`reloaddirs`、`wailsjsdir`、 `debounceMS`、 `devserver`、`frontenddevserverurl`フラグを使用すると、プロジェクト構成が更新され、次回以降コマンドを実行する際のデフォルト値となります。

このファイルのJSONスキーマは、[こちら](https://wails.io/schemas/config.v2.json)にあります。
