NodeJs 環境下 Koa 框架試驗 之二

   上回說到怎樣將Koa這個web框架運行在NodeJs環境中呢?咱們來將上次寫的那個hello.js 內容改爲以下:javascript

1 var koa = require('koa');
2     var app = koa();
3     app.use(function *(){
4     this.body = 'Hello World';
5 });
6 app.listen(8888);

 

   注意:如今你直接在命令行中運行:node hello.js 是會報錯的。錯誤通常以下:
function *respond(next){
^
SyntaxError: Unexpected token *
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (C:\Program Files\nodejs\node_modules\koa\index.js:2:1
8)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
這是由於  app.use(function *(){ 語句中有一個 * ,這種方式被稱爲generator functions ,通常寫做function *(){...} 的形式,在此類function 中能夠支持ES6的一種yield概念(什麼?你不知道什麼是yield...%$#@%....呵呵,好吧,其實我也不知道。不過我相信,咱們後面會遇到它的,請耐心一點。)。因而咱們須要讓這種新型的javascript方法能夠編譯經過,就須要在運行node 命令的時候加上一個harmony參數(嗯,你知道什麼是河蟹吧。呵呵,對了。harmony的英文意思就是和諧,就是爲了讓編譯器不只能夠接納舊的javascript語法也能夠接納新時代的語法。)語句以下:
node --harmony hello.js

好了,你已經看出來了。Koa 在 原生態的NodeJs的基礎上進行了一番進化。從程序員的角度來看,首先變得更加簡潔、易讀了;而後,實際上是最重要的一個進化:「使用 koa 編寫 web 應用,經過組合不一樣的 generator,能夠免除重複繁瑣的回調函數嵌套,並極大地提高經常使用錯誤處理效率。Koa 不在內核方法中綁定任何中間件,它僅僅提供了一個輕量優雅的函數庫,使得編寫 Web 應用變得駕輕就熟。 」
下一回咱們就嘗試着用這個東東作一個web應用吧。
哦,提醒一下,最好使用最新的NodeJs v0.11.4。在命令行下查一下你的版本就能夠知道了。

NodeJs v0.11.4下載地址:http://nodejs.org/docs/v0.11.4/download/java

相關文章
相關標籤/搜索