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 件のコメント:
コメントを投稿