brunch(backbone.js) + Expressでナントカ
基本MVCはbackbone.jsで。node側はなるべくAPIに徹する構成にしたい。
とりあえず生成してみる。
$ express myapp // Expressアプリ生成 $ cd myapp $ npm link express jade // 依存関係とか $ cd ../ $ brunch new // brunchアプリ生成
現状こんなディレクトリ構成。
brunch // クライアントサイドアプリ - build - web //*** ここではなく ***// - config.yaml - index.html - src myapp // Expressアプリ - app.js - node_modules - package.json - public //*** こっちにビルドしたい ***// - routes - views
そこでCoffeeScriptのビルドパスをmyapp/publicに変更。
/*-- brunch/config.yaml --*/ buildPath: myapp/pubic ...
そしてコンパイル。
$ brunch build
さらにindexファイルを移動して、、、
$ mv brunch/index.html myapp/public/web/index.html
それにあわせてパスを修正
<!-- myapp/public/web/index.html --> ... <link rel="stylesheet" href="/css/main.css" type="text/css" media="screen"> <script src="/js/app.js"></script> ...
/pubic/webのほうを静的に参照させるため、app.jsのstaticを修正。
/* -- myapp/app.js -- */; ... //app.use(express.static(__dirname + '/pubic')); app.use(express.static(__dirname + '/pubic/web')); ... //app.get('/', routes.index); app.get('/api', routes.index); ...
起動してみる。
$ node myapp/app.js
http://localhost:3000 -> brunchアプリを参照
http://localhost:3000/api -> Expressアプリを参照
よし。おk。