Koa.js ett litet framework för Node.js från skaparna av Express.js

Jag har börjat testa Koa som ska vara ett litet och robust ramverk för node.js från skaparna av Express.js. Koa har inga middleware till skillnad från Express.js utan man får själv inkludera dom man vill ha.  Koa använder sig av generators så man slipper alla callbacks och promises, vilket binder samman det bästa av async och sync kod. Koa kräver dock minst node.js 0.11.9 (kan rekommendera nvm för att hantera olika versioner av node.js) men även att man sätter flaggan --harmony. Det är lätt att sätta upp en server (exempel från koa.js github):

var koa = require('koa');
var app = koa();

// logger
app.use(function *(next){
  var start = new Date;
  yield next;
  var ms = new Date - start;
  console.log('%s %s - %s', this.method, this.url, ms);
});

// response
app.use(function *(){
  this.body = 'Hello World';
});

app.listen(3000);

Vad logger gör är att den tar aktuellt datum sedan kör yield funktionen next vilket går och kör nästa funktioner i anropet dvs sätter “Hello World” på body. Var av det är klart kör vidare och räknar ut nu – start och loggar. Fördelen med detta är att du kan tilldela variabler yield och t.ex. databas anrop och vänta tills de 2 async funktionerna är klara innan man returnerar svaret. Koa är ganska ungt då det kom i början av året eller precis innan så händer det mycket. Jag lekte lite för över en månad sedan och har fått skriva om en del p.g.a alla förändringar men jag gillar det skarpt. Jag ska försöka skriva fler blog inlägg om problem och  tips jag stöter på. För att läsa mer:

next generation web framework for node.js

Leave a Reply

Your email address will not be published. Required fields are marked *