bootstrapped-socket-express は、express, socket.io, bootstrapを組み合わせたシンプルなアプリの雛形です。テストに mocha が使えます。connect-assetを使ってcssやjqueryをまとめています。CoffeeScriptです。
インストールから起動まで。
$ npm install -g bootstrapped-socket-express
$ bootstrapped new sample_app
Success!
Next, you should:
cd sample_app
sudo npm install
And to start your app:
node server.js
$ cd sample_app
$ npm install
$ node server.js
info - socket.io started
Listening on port 3000
起動したら、http://localhost:3000 にブラウザからアクセスしてみます。
bootstrapらしい画面が表示されました。
ちょっと構造を見ていきます。
.
├── app.coffee
├── assets
│ ├── css
│ │ ├── bootstrap-responsive.css
│ │ └── bootstrap.css
│ ├── img
│ │ ├── glyphicons-halflings-white.png
│ │ └── glyphicons-halflings.png
│ └── js
│ ├── bootstrap.js
│ ├── jquery.js
│ └── socket_handlers.coffee
├── node_modules/
├── package.json
├── public
│ └── favicon.ico
├── routes
│ └── index.coffee
├── server.js
├── test
│ └── test_sample.coffee
└── views
├── index.jade
└── layout.jade
server.jsがエントリーポイントで、サーバ設定から起動まではapp.coffeeに書かれています。assets内にcss, img, jsがまとまっています。routes(ルータ)と views、test があります。modelやcontrollerはありません。
インストールされたパッケージを見ていきます。
$ npm ls YOUR_APP_NAME@0.0.1 ├── coffee-script@1.2.0 ├─┬ connect-assets@2.1.9 ├─┬ express@2.5.9 ├─┬ jade@0.22.1 ├─┬ mocha@1.0.1 ├── should@0.6.1 ├─┬ socket.io@0.9.5 └─┬ stylus@0.25.0
基本のCoffeeScript、テストフレームワークのshouldとmocha。スタイルシートのstylus、socket.ioが見えます。テンプレートはjadeですね。connect-assets で Rails 3.1 の asset pipeline を実現しています。
app.coffeeを見ていきます。
express = require 'express'
stylus = require 'stylus'
routes = require './routes'
socketio = require 'socket.io'
app = express.createServer()
io = socketio.listen(app)
app.use express.logger {format: ':method :url :status :response-time ms'}
app.use require("connect-assets")()
app.set 'view engine', 'jade'
app.use express.static(__dirname + '/public')
# Routes
app.get '/', routes.index
# Socket.IO
io.sockets.on 'connection', (socket) ->
socket.emit 'hello',
hello: 'says server'
port = process.env.PORT or 3000
app.listen port, -> console.log "Listening on port " + port
express, stylus, socket.ioをrequireしています。ルータは routes にあります。テンプレートエンジンにJadeを指定しています。connect-assetsを指定しています。ExpressJSの書き方です。
routes/index.coffeeを見てみます。
exports.index = (req, res) -> res.render 'index'
ExpressJSの書き方です。
bootstrapped-socket-expressはフレームワークというよりは、アプリの雛形的なパッケージです。メジャーなパッケージである、ExpressJS、socket.io、Bootstrap、connect-assets、mochaをCoffeeSciprtで使うために組み合わせたパッケージです。ちょっとしたアプリを、シンプルにCoffeeScriptで始めたい場合にいいかもしれません。

0 件のコメント:
コメントを投稿