博物馆建设网站的目的及功能,广州网站制作选哪家,设计公司网站案例,分销系统平台有哪些文章目录 前言一、express 路由简介1、定义2、基础使用 二、express 获取参数1、获取请求报文参数2、获取路由参数 三、express 响应设置1、一般响应设置2、其他响应设置 四、express 防盗链五、express 路由模块化1、模块中代码如下#xff1a;2、主文件中代码如下#xff1… 文章目录 前言一、express 路由简介1、定义2、基础使用 二、express 获取参数1、获取请求报文参数2、获取路由参数 三、express 响应设置1、一般响应设置2、其他响应设置 四、express 防盗链五、express 路由模块化1、模块中代码如下2、主文件中代码如下 前言
express是一个基于Node.js平台的极简、灵活的WEB应用开发框架。它是一个封装好的工具包封装了很多功能便于我们开发WEB应用HTTP服务。 express 的作用和 Node.js 内置的 http 模块类似是专门用来创建Web 服务器的。 express 的本质就是一个npm 上的第三方包提供了快速创建Web 服务器的便捷方法。 一、express 路由简介
1、定义
路由确定了应用程序如何响应客户端对特定端点的请求
2、基础使用
一个路由的组成有请求方法、路径、回调函数组成
// 导入express
const expressrequire(express);// 创建应用对象
const appexpress();// 创建路由
app.get(/home,(req,res){res.end(hello express);
});app.post(/login,(req,res){res.end(login login)
})// 404响应
app.all(*,(req,res){res.end(404 not Found)
})// 监听端口启动服务
app.listen(3000,(){console.log(服务已经启动端口3000正在监听中....)
})二、express 获取参数
1、获取请求报文参数
代码如下
// 创建路由
app.get(/home,(req,res){// 原生操作console.log(req.method);console.log(req.url);console.log(req.httpVersion);console.log(req.headers);// express 操作console.log(req.path);console.log(req.query);console.log(req.ip);// 获取请求头console.log(req.get(host));
});2、获取路由参数
代码如下
// 创建路由
app.get(/:id.html,(req,res){// 获取url路由参数console.log(req.params.id);res.setHeader(content-type,text/html;charsetutf-8);res.end(商品详情)
});
三、express 响应设置
1、一般响应设置
代码如下
// 创建路由
app.get(/:id.html,(req,res){// 原生响应res.statusCode404;res.statusMessageError;res.setHeader(xxx,yyy);res.write(hello express);res.end(response);// express响应res.status(500);res.set(aaa,bbb);res.send(你好);// 连贯操作res.status(404).set(xxx,yyy).send(你好朋友)
});2、其他响应设置
app.get(/:id.html,(req,res){// 跳转响应res.redirect(www.baidu.com);// 下载响应res.download(__dirname/package.json);// JSON响应res.json({name:网页,slogon:你好})// 响应文件内容res.sendFile(__dirname/test.html);
});四、express 防盗链
代码如下
app.use((req,res,next){//检测请求头中referer是否为127.0.0.1//获取refererlet refererreq.get(referer);if(referer){// 实例化let urlnew URL(referer);// 获取hostnamelet hostnameurl.hostname;// 判断if(hostname!127.0.0.1){// 响应404res.status(404).send(h1404/h1)return;}} next();
})五、express 路由模块化
1、模块中代码如下
const express require(express);
// 创建路由对象
const routerexpress.Router();
router.get(/admin,(req,res){res.send(....)
});
// 向外暴露模块
module.exportsrouter;2、主文件中代码如下
const 模块名require(./...)
app.use(模块名)