第9天response 响应渲染

今天我们的开发任务,是为stuwebfk框架增加response响应渲染功能。之前响应客户端的方式是通过res.write方法,这个过于低级。

基本的响应渲染功能,包括以下几个:

  • 页面跳转 redirect

  • 文本 text

  • 静态页 static

  • 下载 down

  • 动态页 view

先前实现了静态页渲染,也就是使用static中间件。下面几节,着手开发其他的渲染方法。

文本渲染插件开发

文本渲染,就是通过res.text方法返回给客户端信息,而信息本身无论是什么,比如即使是html也会显示其源代码。

这个插件并不难,只要为响应头设置 Content-Type = text/plain 即可,既然这个插件如此简单,下面就显示出其源代码。

lib/text.js 源代码book

module.exports = function(req,res,next){
    res.text = function(txt){
        res.writeHead(200, {'Content-Type': 'text/plain'});
        res.write(txt);
        res.end();
    }
    next();
}

index.js中加入以下代码:

exports.text = require("./lib/text");

到这里插件就算开发好了,下面我们用个例子测试一下效果。

var fk = require("../..")
   ,App = fk.App
   ,app = new App;

   app.use(fk.text); // 加载text插件

   app.get("/text",function(req,res){
        res.text("<b>hello world</b>");
   })

   app.listen(3000)

运行后,在浏览器打开 localhost:3000/text 就会显示出

<b>hello world</b>

也就是说不会用HTML渲染,而是直接显示出源代码。插件很简单,在实际应用中作用确很大。下一节,我们将开发页面跳转插件。