プロジェクトを管理する

各プロジェクトの dfx.json 設定ファイルを変更することで、個々のプロジェクトのいくつかの重要な設定を変更できます。 これらの設定は、dfx config コマンドを使用してプログラム的に変更する または 手動で dfx.json ファイルを直接編集することで、変更できます。

ソースディレクトリの変更方法

dfx build コマンドを使用してプロジェクトのソースコードをコンパイルする前に、Dapp のソースコードを保存するデフォルトの場所を確認したいと思うかもしれません。 デフォルトでは、新しいプロジェクトを作成する際に使用する名前は、1つの Canister スマートコントラクト (canister_name) と1つのアセットキャニスター (canister_name_assets) に使用する名前であり、Dapp のソースコードは src/canister_name ディレクトリにあるでしょう。同様に、フロントエンドのソースコード用のデフォルトの場所は src/canister_name_assets/src ディレクトリであり、フロントエンドの出力先は dist/canister_name_assets ディレクトリになります。

しかし、Dapp の複雑さとアーキテクチャによっては、Dapp のソースコード、フロントエンドのソースコード、フロントエンドの出力のデフォルトの場所を変更したくなるかもしれません。

例えば、単純な Dapp であれば、ディレクトリの階層を一つ取り除いて、ソースコードを src ディレクトリに置きたいと思うかもしれません。

  "main": "src/main.mo",

より複雑な Dapp の場合は、多階層のディレクトリ構造を使いたいと思うかもしれません。

"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 という Dapp 用の Canister スマートコントラクトをビルドしたい場合、その Dapp のソースコードが src/math/factorial.mo にあるとすると、設定ファイルの canisters セクションで main 設定に正しいパスが指定されていることを確認すべきです。

例えば、下記です。

"main": "src/math/factorial.mo",

Dapp のファイル名の設定を変更しても、dfx build コマンドがコンパイルするソースコードを探す場所にしか影響しないことを覚えておいてください。設定ファイルを変更しても、ファイルシステム上のファイルまたはディレクトリの名前は変更されません。 メインの Dapp ファイルのパス または ファイル名自体 を変更する場合は、必ずプロジェクトディレクトリ内の名前と場所を変更してください。

Dapp のフロントエンドを提供する場所を変更する方法

設定ファイル dfx.json のローカルネットワークの設定を変更することで、Dapp フロントエンドを提供するためのデフォルトのホスト名とポート番号を変更できます。

例えば、bind の設定を変更することで、ローカルネットワークの IP アドレスを変更できます。

"networks": {
  "local": {
    "bind": "192.168.47.1:8000",
    "type": "ephemeral"
  }
}