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

相关文章
相关标签/搜索