最初に
最近 Node.js を触る機会が増えてきたので、Node.js で Web アプリケーションを作ってみようかなと考えました。プライベートプロジェクトなのでひとまず動けば OK という感じです。
構成
と言うわけで最初にどんな構成でやるかを考えます。- Node.js
- Express
- Node.js で Web アプリケーションを作るなこれという感じ?
- http://expressjs.com
- Socket.Io
- WebSocket 使いたいなと思ったらこれかな
- http://socket.io
- less
- sass しか使ったことないけど試したいので導入してみる(予定)
- http://lesscss.org
- mongoose
- MongoDB を使うためライブラリー Schema とかあって使いやすそう
- http://mongoosejs.com
- jade
- Express で最初から使用されているテンプレートエンジン
- http://jade-lang.com
- Mocha
- Node.js のテスティングフレームワークの一つ
- http://visionmedia.github.com/mocha/
- MongoDB
こんな所でしょうか。
Node.js の各モジュールは package.json で管理します。
基本的に Express でアプリケーションを作成したものに追加していく形にしています。
複数形と単数形が混じって少し気持ち悪いですが、Mocha が test というディレクトリーに依存しているようなので気にせず進めています。
Node.js の各モジュールは package.json で管理します。
ディレクトリー構成
ディレクトリー構成はこんな感じです。基本的に Express でアプリケーションを作成したものに追加していく形にしています。
複数形と単数形が混じって少し気持ち悪いですが、Mocha が test というディレクトリーに依存しているようなので気にせず進めています。
.
├── app.js
├── lib
│ ├── db
│ │ └── User.js
│ ├── db.js
│ ├── foo
│ │ └── Bar.js
│ └── foo.js
├── node_modules
├── package.json
├── public
│ ├── javascripts
│ │ └── client.js
│ └── stylesheets
│ └── style.css
├── routes
│ ├── index.js
│ └── user.js
├── test
│ ├── foo
│ │ └── Bar.js
│ └── foo.js
├── var
└── views
├── index.jade
└── layout.jade
lib/ 下のルール
lib/ 下の構成はこんなルールにしてみようかなと考えました。- 名前空間とディレクトリーを対応させる
- db/ と db.js
- db/ 内のファイルにより exports されたものを db.js でまとめて exports する