Nodejs-express中间件

Express 框架核心特性:

  • 可以设置中间件来响应 HTTP 请求
  • 定义了路由表用于执行不同的 HTTP 请求动作
  • 可以通过向模板传递参数来动态渲染 HTML 页面

Express是一个路由和中间件组成的Web框架

  • 路由:包含一个 URL和一个特定的 HTTP 请求方法(GET、POST)
  • 中间件函数:能够访问请求对象req,响应对象res,以及下一个中间件函数(通常名为next),可用next('route')调下一个路由(来跳过中间件堆栈中剩余的其他中间件函数)
    注:next('route') 仅在使用 app.method() 或 router.method() 函数装入的中间件函数中有效。
加载express,定义访问端口
const express = require('express');
const app = express();
const server = app.listen(3000, function () {
    const port = server.address().port;
    console.log('listening on port '+port);
});
应用层中间件:
app.use
app.method(get/post..)
路由器层中间件:
const router = express.Router();//绑定到 express.Router() 的实例,与应用层中间件的不同
router.use
router.method(get/post..)
module.exports=router;
错误处理中间件:四个自变量 (err, req, res, next)
app.use(function(err, req, res, next) {
  console.error(err.stack);
  res.status(500).send('Something broke!');
});
内置中间件:
//指定加载静态资源路径
app.use(express.static('public'));
第三方中间件:
// 比如用来解析发送的数据,命令行安装
cnpm install body-parser
const bodyParser = require('body-parser');
// 解析 application/json
app.use(bodyParser.json()); 
// 解析文本格式,extended:false,会使用querystring库解析URL编码的数据
app.use(bodyParser.urlencoded({extended: false}));

demo地址

参考文章推荐:
使用中间件

你可能感兴趣的:(Nodejs-express中间件)