前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Express框架之res.render()和res.send()区别

Express框架之res.render()和res.send()区别

作者头像
十月梦想
发布2018-08-29 12:48:10
5.3K0
发布2018-08-29 12:48:10
举报
文章被收录于专栏:十月梦想

大多数情况下,渲染内容用res.render(),将会根据views中的模板文件进行渲染。如果不想使用views文件夹,想自己设置文件夹名字,那么app.set("views","mb");

代码语言:javascript
复制
var express=require('express');
var app=express();
//设计模板引擎   ejs
app.set("views","mb");//设置需要渲染的目录下模板文件
app.set("view engine","ejs");
app.get("/",function(req,res){
    res.render("biaodan",{
        news:['1','2']
    });
    app.listen(3000)

如果想写一个快速测试页,当然可以使用res.send()。这个函数将根据内容,自动帮我们设置了Content-Type头部和200状态码。send()只能用一次,和end一样。和end不一样在哪里?能够自动设置MIME类型。

如果想使用不同的状态码,可以使用(加状态码打点):

代码语言:javascript
复制
res.status(404).send('Sorry, we cannot find that!');

如果想使用不同的Content-Type,可以:

代码语言:javascript
复制
    res.set('Content-Type', 'text/html');

实质上res.render用来渲染模板文件,而这个res.send()和res.end(原生)用法基本一致,不过省去了请求头的字符集已经状态码等问题,大大节约我们用来测试!当然也可以自己采用原生的res.end()等,express框架没有自行产生抽象的概念,保留了全部的node原生用法!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-7-7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档