プロジェクトを管理する
各プロジェクトの dfx.json
設定ファイルを変更することで、個々のプロジェクトに対する重要な設定のいくつかを変更することができます。これらの設定は dfx config
コマンドを使用してプログラムで変更することもできますし、 dfx.json
ファイルを直接手動で編集することもできます。
ソースディレクトリを変更する方法
dfx build
コマンドを使用してプロジェクトのソースコードをコンパイルする前に、Dapp のソースコードを保存するデフォルトの場所を確認しておくとよいでしょう。新しいプロジェクトを作成するときに使う名前は、デフォルトでひとつの Canister(canister_name
)とひとつのアセット Canister(canister_name_assets
)とし、Dapp のソースコードは src/canister_name
ディレクトリにあることが慣習です。同様に、フロントエンドのソースコードは src/canister_name_assets/src
ディレクトリに、フロントエンドのアウトプットは dist/canister_name_assets
ディレクトリに置かれることがデフォルトとなります。
アプリの複雑さやアーキテクチャーによっては、アプリのソースコード、フロントエンドのソースコード、フロントエンドのアウトプットのデフォルトの場所を変更したいと思うかもしれません。
例えば、シンプルなアプリの場合、ディレクトリをひとつ削除し、ソースコードを src
ディレクトリに配置することができます:
"main": "src/main.mo",
より複雑な Dapps の場合は、多階層のディレクトリ構造を採用するとよいでしょう:
"canisters": {
"profiles": {
"main": "src/profiles/utils/main.mo"
},
"events": {
"main": "src/events/calendar/main.mo"
},
"media": {
"main": "src/events/reports/main.mo"
}
}
ソースコードのディレクトリのデフォルトの設定を変更する場合は、dfx.json
設定ファイルの設定がファイルシステム上のディレクトリの位置と一致していることを確認してください。
メイン Dapp のファイル名を変更する方法
dfx build
コマンドを使用してプロジェクトのソースコードをコンパイルする前に、Dapp のソースコードに使用されている場所とファイル名を確認する必要があります。
例えば、factorial
というアプリの Canister をビルドする場合、そのアプリのソースコードが src/math/factorial.mo
にあるのなら、設定ファイルの canisters
セクションの main
設定で正しいパスを指定しているかどうか確認する必要があります。
例:
"main": "src/math/factorial.mo",
Dapp ファイル名の設定を変更しても、dfx build
コマンドがコンパイルするソースコードを探す場所にしか影響しないことを覚えておいてください。設定ファイルで変更を加えても、ファイルシステム上のファイルやディレクトリの名前は変更されません。メインの Dapp ファイルへのパスやファイル名を変更した場合は、プロジェクトディレクトリ内の名前と場所を変更するようにしてください。
Dapp フロントエンドを提供する場所を変更する方法
Dapp フロントエンドを提供するためのデフォルトのホスト名とポート番号は、設定ファイル dfx.json
にあるローカルネットワークの設定を修正することで変更可能です。
例えば、bind
の設定を変更することで、ローカルネットワークの IP アドレスを変更することができます:
"networks": {
"local": {
"bind": "192.168.47.1:8000",
"type": "ephemeral"
}
}