res 对象的常见方法|学习笔记

简介: 快速学习 res 对象的常见方法

开发者学堂课程【Node.js 入门与实战res 对象的常见方法】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/588/detail/8319


res 对象的常见方法

 

一、res对象的常见方法

1.res.json

res.json等价于res.send

服务器要想向一个客户端响应一个json数据的时候,可以直接用res.json,它是发送一个json的响应,要是用这个json它会把其它值转换成json数据。

范例:

//加载express摸块

var express =require(‘express’);var path = require(‘path’;

//创建app对象

var app = express(O;

app.get(/, function (req, res){

res.json({name:‘张三’,age: 18});

})

app.listen(9000, function(){

consoLe.log(http://localhost:9000’));

});

2.res.redirect

服务器用来向浏览器发送重定向的,以前向浏览器发送重定向需要先设定一个状态码,在设置一个状态消息最后再给它一个位置然后再结束这个响应。

Express把这些操作封装到一个叫redirect的方法里面。

这个方法提供两个参数,第一个参数可传可不传,就是重定向状态码,如果不传默认是302即使传状态码,也不需要传状态消息,因为对应的状态码有固定的状态消息,它会自动判断这个状态码对应的消息。

范例:

//加载express摸块

var express =require(‘express’);var path = require(‘path’;

//创建app对象

var app = express(O;

app.get(/, function (req, res){

res.redirect(301‘https://www.baidu.com’);

});

app.listen(9000, function(){

consoLe.log(http://localhost:9000’));

}); 

3. res.sendFile

从express V4.8开始才有的这个方法

直接写文件路径就可以后面可以写一个选项,这个选项可以写什么值如下:

image.png

范例:

//加载express摸块

var express =require(‘express’);var path = require(‘path’;

//创建app对象

var app = express(O;

app.get(/, function (req, res){res.sendFile(path.jion(__dirname‘public’,’screenshot.jpg’),(err){

if(err){

throw err;

}

Console.log(‘ok’);

);

});

app.listen(9000, function(){

consoLe.log(http://localhost:9000’));

});

以前fs读取文件并相应就不需要了

res.sendFile(path.jion(__dirname‘public’,’screenshot.jpg’),(err){

if(err){

这一句话搞定

4.res.status

用来设置响应状态码

案例:

//加载express摸块

var express =require(‘express’);var path = require(‘path’;

//创建app对象

var app = express(O;

app.get(/, function (req, res){

res.status(404).end(‘文件不存在!‘)

})

app.listen(9000, function(){

consoLe.log(http://localhost:9000’));

});

Res.redirect 这个响应状态码都是重定向如果想设置一个404,得需要3句话现在只需要 res.status.end(‘文件不存在’);就可以。

相关文章
|
JSON 前端开发 Java
layui上传图片,前端直接拷代码,后端……
layui上传图片,前端直接拷代码,后端……
|
API 网络安全 网络架构
浅谈Elastic Search V8版本的一些重大改进
浅谈Elastic Search V8版本的一些重大改进
387 0
|
4月前
|
数据安全/隐私保护 Android开发 Windows
2025 年三款免费高清无水印视频录制工具推荐合集
本文介绍了三款免费高清录屏软件:EVCapture、Bandicam 和 屏幕录像机(oCam)。EVCapture 功能强大,支持视频录制与直播,提供分屏录制、实时按键显示等;Bandicam 适合游戏录屏,可自定义录制区域并添加Logo,还支持音频和摄像头设置;oCam 小巧灵活,支持多种视频格式(如GIF、MP4等)及音频、截图功能。三者均无水印,画质清晰,满足不同录屏需求。资源地址已提供,可供下载体验。
2732 0
|
12月前
|
SQL 自然语言处理 关系型数据库
Vanna使用ollama分析本地MySQL数据库
这篇文章详细介绍了如何使用Vanna结合Ollama框架来分析本地MySQL数据库,实现自然语言查询功能,包括环境搭建和配置流程。
1524 0
|
Web App开发 移动开发 编解码
FFmpeg开发笔记(三十二)利用RTMP协议构建电脑与手机的直播Demo
本文讨论了实时数据传输在互联网中的重要性,如即时通讯和在线直播。一对一通信通常使用WebRTC技术,但一对多直播需要流媒体服务器和特定协议,如RTSP、RTMP、SRT或RIST。RTMP由于其稳定性和早期普及,成为国内直播的主流。文章通过实例演示了如何使用OBS Studio和RTMP Streamer进行RTMP推流,并对比了不同流媒体传输协议的优缺点。推荐了两本关于FFmpeg和Android开发的书籍以供深入学习。
292 0
FFmpeg开发笔记(三十二)利用RTMP协议构建电脑与手机的直播Demo
|
SQL 资源调度 前端开发
VUE3(三十四)项目启动sass报错
我有个不是很好的习惯,每天启动前端项目的时候,都会把项目中使用到的组件更新到最新的版本。其实这样是非常不好的。为什么呢?新版本除了修复之前的问题,也有可能会带来新的问题。 正常的做法大概是,等新版本发布了一段时间之后,再去更新,这样就相对保险一丢丢。 而且,目前前端项目中组件依赖太多,各个组件之间,难免会有兼容性的问题。今天在将组件更新到最新版本之后,启动项目,就遇到了问题。 报错如下: bash 复制代码 ERROR in ./src/pages/porder/index.scss (./node_modules/css-loader/dist/cjs.js!./node_modules/s
446 1
Node历史版本下载及配置npm镜像
Node历史版本下载及配置npm镜像
1065 1
|
存储 缓存 监控
干货 | Elasticsearch 8.X 性能优化实战
干货 | Elasticsearch 8.X 性能优化实战
|
JavaScript 前端开发
Node.js中的错误处理机制
【4月更文挑战第30天】本文介绍了Node.js的错误处理机制,包括Error对象、try-catch、错误事件监听及Promise和async/await的错误处理。错误通常封装在Error对象中,可自定义错误类型。try-catch用于捕获异常,但不适用于异步错误。事件监听器处理对象发出的'error'事件,防止应用崩溃。Promise的.catch()和async/await结合try-catch用于处理异步错误。良好的错误处理是保证应用健壮性和可靠性的关键。