Yesod入門 (2) ディレクトリ構造

Pocket

こんにちは、鈴木です。

前回は Yesod のインストールから起動まで行いました。

今回は、作成したプロジェクトのディレクトリ構成を確認し、全体を把握したいと思います。

 

プロジェクトの作成

プロジェクトの作成方法は前回と同じですが、簡単におさらいしておきましょう。

プロジェクトを作成するときは、以下のコマンドを実行します。

コマンドを実行すると、プロジェクト名と使用するデータベースの種類を聞かれます。

ここではプロジェクト名を「hello-yesod」、データベースは適当なもので良いのですが、ここでは「simple」(データベース無し)を指定したものとして進めます。

プロジェクトの作成が完了したら、作成されたディレクトリに移動し、依存パッケージをインストールします。

次にサーバを起動します。

デフォルトでは 3000 ポートをリッスンするので、ブラウザで http://localhost:3000 にアクセスできます。

Enter を入力するとサーバは終了します。

ここまでが前回のおさらいです。

 

ディレクトリ構造

まずはどのようなディレクトリ構成になっているのか、生成されたファイルを眺めてみます。

いくつか重要そうなファイルを見ていきます。

Handler/

MVC (Model-View-Controller) でいうところの Controller に相当するファイルを置く場所です。

Settings.hs, Settings/

アプリケーションの設定に関するファイルです。

app/main.hs

このファイルの中で main 関数 (エントリポイントとなる関数) が定義されていました。

config/routes

ルーティング情報を記述するファイルであり、config/routes で定義した内容に従って Handler が呼び出されます。
config/settings.yml

実行モードごとの設定です。以下の内容が記述されていました。

Development, Testing, Staging, Production の 4 つが定義されています。

config/keter.yml

keter が何かを知らなかったので調べたところ、Yesod 用のデプロイシステムのようです。その設定ファイルということですね。

devel.hs

「yesod devel」を実行した時に、このコードが動いているようです。

messages/

ロケールごとのメッセージファイルを置く場所です。

static/

画像や CSS など、動的に生成しないファイルを置く場所です。

templates/

HTML や Javascript, CSS などの元となるテンプレートファイルを置く場所です。

HTML は Hamlet、CSS は Cassius または Lucius、Javascript は Julius で書くようです。

test/

テストコードを置く場所です。

 

まとめ

ディレクトリ構造を確認したことで、何となく全体像が見えてきた気がします。

一方で、知らないことも沢山見えてきたので、これから調べていこうと思います。

 

Pocket

Comments are closed, but you can leave a trackback: Trackback URL.