Brunch、Express、nodemon如何共存

Yujie Zhou發表於2013-11-12

Brunch - http://brunch.io是一個輕量級前端構建工具,它主要用來構建HTML5 Web應用。
Brunch自帶了一個簡單伺服器,如果你的應用僅有前端的話,那就足夠了,但是如果你需要一些後端Restful服務,那麼需要寫自己的後端了。

對於快速原型專案,使用一個Java後端就有點太重量級了。這個時候寫一個基於NodeJS平臺的Express伺服器是非常合適的。 nodemon是一個工具能夠在程式碼變化時自動重新啟動Express伺服器。這篇文章將會指導你如何在brunch中使用nodemon來啟動Express伺服器。

假設你的伺服器放在server/server.js中,那麼你將需要兩個命令列分別啟動brunch和nodemon,比較麻煩。下面這段簡單指令碼(nodemon-wrapper.js)能夠利用brunch自帶的server選項來啟動我們自己的伺服器。

exports.startServer = function(port, path, callback) {
  var child_process = require('child_process');
  var server = child_process.spawn('nodemon', ['server.js'], {cwd: 'server'});
  server.stdout.setEncoding('utf8');
  callback();
  server.stdout.on('data', function(data) {
      process.stdout.write(data);
    });

  server.stderr.on('data', function(data) {
      process.stdout.write(data);
    });

  return server;
};

然後在brunch的config.coffee中加入下面一段就行了

server:
    path: 'nodemon-wrapper.js' 

相關文章