简单的介绍node的Express

Express 是一个基于node平台的,快速开放,极简的web开发模式
Express框架是后台的Node框架
Express在后台的受欢迎程度类似前端的Jquery,是企业的标准

Express的特点:

Express是一个基于node.js平台的极简,灵活的web应用开发框架,它提供了一系列强大的特性,帮你创建各种web和移动设备应用
丰富的http快捷方法和任意排列组合的connect中间件,让你创建健壮,友好的API变得即快速又简单

Express官网:
    http://express.com
Express安装
    npm i express --save

Express 使用:

1.引入
const express = require('express');
let app = express()
2.配置路由
app.get('/',function(req,res){
    res.send('hello world')
})  //根路由
app.get('/news',function(req,res){
    res.send('new 模块')
})//new路由 二级路由
3.监听端口
app.listen(3000,'127.0.0.1');
4.动态路由
app.get('/login/:id',function(req,res){
    res.send('login页面');
    req.params//得到路由
})
//get请求值
app.get('/new',function(req,res){
    res.send('新闻页面');
    req.query //得到传参
})
//渲染ejs模板
app.set('view engine','ejs'); //配置ejs的模板引擎
app.set('view',__dirname+'/views');  //设置模板的位置

Express中间件

1.中间件(middleware)是一个函数,他可以访问请求对象(request object(req)),响应对象(response object(res)),和web引用处理请求-响应 循环流程中的中间件,一般命名为next的变量

我的认知就是中间件就是一个中介,匹配request对象和response对象,一般node中如果使用到use方法就是中间件

中间件的分类:、

1.应用级中间件

//引入express框架
const express = require('express');
let app = express();
//配置ejs模板引擎
app.set('view engine','ejs');
//配置模板的位置
app.set('views',__dirname+'/views');
//2.配置路由

//应用级中间件,相当于vue中的全局守卫,一般使用use就是使用中间件
app.use(function (req,res,next) {
    console.log(123);
    next()
})
app.get('/',function (req,res) {
    res.send('hello world')
})
app.get('/login',function (req,res) {
    let data = ['haha','xixi'];
    res.render('index',{list:data})
    res.send('login页面')
})
//3.监听端口
app.listen(8001,'127.0.0.1');

2.路由中间件

//引入express框架
const express = require('express');
let app = express();
//配置ejs模板引擎
app.set('view engine','ejs');
//配置模板的位置
app.set('views',__dirname+'/views');
//2.配置路由
app.get('/',function (req,res) {
    res.send('hello world')
})
//路由中间件,相当于路由守卫
app.get('/login',function (req,res,next) {
    res.send('login页面')
    next()
})
//路由中间件,相当于DOM0级和DOM2级的区别
app.get('/login',function (req,res) {
    console.log(123);
})
//3.监听端口
app.listen(8002,'127.0.0.1');

3.错误处理中间件

//引入express框架
const express = require('express');
let app = express();
//配置ejs模板引擎
app.set('view engine','ejs');
//配置模板的位置
app.set('views',__dirname+'/views');
//2.配置路由
app.get('/',function (req,res) {
    res.send('hello world')
})
app.get('/login',function (req,res) {
    res.send('login页面')
})

//错误处理中间件
app.use(function (req,res) {
    res.status(404).send('这个是404页面')
})
//3.监听端口
app.listen(8005,'127.0.0.1');

4.内置中间件

//引入express框架

const express = require('express');
let app = express();
//托管静态文件
app.use(express.static('public'));
app.use('static',express.static('public')); //会默认去public这个文件夹去找

app.get('/',function (req,res) {
    res.send('hello world')
})

//3.监听端口
app.listen(8006,'127.0.0.1');

5.第三方中间件

const express = require('express');

let bodyParser = require('body-parser');
let app = express();
//配置第三方中间件

//配置
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
必须配置这个body-parser中间件才能使用req。body方法

//配置ejs模板引擎
app.set('view engine','ejs');
//配置模板的位置
app.set('views',__dirname+'/views');
//2.配置路由
app.get('/',function (req,res) {
    res.send('hello world')
})
app.get('/login',function (req,res) {
    let data = ['haha','xixi'];
    res.render('index',{list:data})
    res.send('login页面')
})
//配置dologin路由
app.get('/dologin',function (req,res) {
    console.log(req.body);
    res.send('欢迎');
})
app.listen(3000)

express中间件简单的总结

express框架的简单总结:

1.引入express包  cnpm/npm i express --save

2.实列化 let app = express()

监听端口 app.listen

## 2.中间件

数据处理的中间件:

app.use(express.json())

app.use(express.urlencoded({contended:true}));

静态资源挂载

app.use(express.static('public'));开放静态资源,不需要设置监听路由就能访问静态资源

注意:一般开发情况下,如果静态资源有该文件路由,服务器就不能再监听该路由,如果监听了,以静态资源为准

cookie-parser中间件

app.use(cookieparser());  //允许访问cookie,但是要先下载包cookie-parser

## 监听路由:

app.get()

app.post()

app.all

## resquire对象:

常用方法:

req.body  得到post请求的数据

req.query 得到get的传参

req.cookie得到前端的cookie

req.params 得到路由

## response对象

res.send()返回一个字符串

res.sendFile

res.redirect():重定向

res.rend();渲染模板引擎,返回一个页面,注意res.rend()和res.send()冲突

res.status()设置状态码

res.fresh()  就是查看监听之前有没有监听过这个路由

res.app === app

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值