Meteor入門 [3] ファイルやディレクトリ構成について
Javascriptでクライアントサイドからサーバサイドまでやれちゃう、IsomorphicでReactive Programmingな新技術Meteorを勉強してみる。の記録。
http://www.meteor.com/main
今回は、ファイルやディレクトリ構成について
ディレクトリについて
Meteorは1つのファイルにサーバとクライアントの両方のコードを書けるわけだけど、分けて書くことも出来るらしい。
あと、サーバが使うファイルとクライアントが使うファイルはディレクトリで分ける。
- serverサブディレクトリに入れたファイルはサーバだけ
- clientサブディレクトリに入れたファイルはクライアントだけ
- publicディレクトリに入れたファイルはRailsやDjangoと同じように普通にサーバから配信される。
- favicon.ico, robots.txtなどはここに入れる。
それ以外は両方にコピーされる。
クライアントに送りたくないコード(例えば、パスワードや認証機構が入っているもの)はserverディレクトリに入れておかなければならない!!
JavascriptとCSSファイル
serverとpublicサブディレクトリ以外のCSSファイル(JSファイルもかな?)は自動的にまとめてクライアントに送られる。
(開発モードではデバッグしやすくするため、Javascript, CSSともに個別のファイルとしてクライアントに送られる)
HTMLファイル
ディレクトリ中の全てのHTMLファイルからhead, body, templateタグのセクションに分けてスキャン。
headとbodyセクションは単一のheadとbodyにまとめて、ページの初回ロード時にクライアントに送信される。
templateセクションは、Javascriptの関数に変換されて、Template名前空間の下に置かれる。