filed使うとスタティックファイルを送るサーバが簡単に準備できるのでいいですね
※ 追記しました (2013.09.01)
WebWorker とか HTML5のFile API のテストをしたいときに使います
https://github.com/ishiduca/node-static-server
$ npm install https://github.com/ishiduca/node-static-server/tarball/master -g
すると `static-server` コマンドができるので
$ ROOT=$PWD/public PORT=3030 static-server
$ static-server --root=$PWD/public --port=3030
とかすると $PWD/public/ 以下のファイルを読み込むサーバが localhost:3030 に立ち上がります。
追記 2013.09.01
時たま XMMLHttpRequest などでリクエストをサーバー側に投げて返ってくるレスポンスを確認したいというような場合があるので、ミドルウェアの形でアプリを載せられるようにしてみました
$ static-server -p 3000 -r $PWD/public -m $PWD/xhr.js
上記の例だと、port が 3000 ルートディレクトリが $PWD/public ミドルウェアが $PWD/xhr.js になります
ミドルウェアはこんな感じで書きます。
xhr.js
module.exports = function () { var url = require('url') return function responseXHR (req, res, next) { if (url.parse(req.url).pathname !== '/xhr') return next() // 次のミドルウェア か sendStaticFile に任せる var data = '' req.on('data', function (chunk) { data += chunk }) req.on('end', function () { var parsed try { parsed = JSON.parse(data) } catch (err) { res.writeHead(500, {'content-type': 'application/json'}) res.end(JSON.stringify({error: 1, message: err.message}) return console.error(err) } var responseData = something( parsed ) res.writeHead(200, {'content-type': 'application/json'}) res.end(JSON.stringify(responseData) }) } }
ミドルウェアは複数指定できますが、指定した順に実行されるので、指定する順番を考えて指定します