zoukankan      html  css  js  c++  java
  • express路由和中间件

    路由

    简单来说,express路由就是用来处理一些请求,响应一些url地址。

    var express = require('express');
    var app = express();
    
    app.get('/',function(req,res){...})
    
    app.post('/add',function(req,res){...})
    

    但是如果一个网站有很多的请求路由,只是通过简单的app.get或者app.post,这样会显得很繁琐。所以就出现了中间件。

    中间件

    1.定义:所谓中间件,就是在收到请求和发送响应之间这个阶段执行的一些函数。
    2.常用的中间件

    static中间件

    用来访问静态文件。

    app.use(express.static(path.join(__dirname, 'public')));
    

    body-parser中间件

    1.作用:用来解析http请求体。

    app.use(bodyParser.json()); //用来解析json数据格式
    app.use(bodyParser.urlencoded({ extended: false }));//用来解析通常form表单提交的数据,也就是请求头中包含这样的信息: Content-Type: application/x-www-form-urlencoded
    

    2.api(对请求体的四种解析方式)
    bodyParser.json(options): 解析json数据
    bodyParser.raw(options): 解析二进制格式(Buffer流数据)
    bodyParser.text(options): 解析文本数据
    bodyParser.urlencoded(options): 解析UTF-8的编码的数据。

    在大型项目中的路由中间件

    一般自己在写小项目的时候,会把路由控制的部分写在app.js中,但是这样会显得很乱,但是在实战项目中基本上不会这样来写,因为随着项目的庞大,app.js入口文件中的路由控制将会越来越复杂,所以,实际项目会将不同的业务逻辑交给不同的模块来负责。
    -node_modules
    -api
    -index.js
    -routes
    -index.js
    -app.js
    -package.json
    将对路由控制的具体响应写在api目录下。然后在routes目录下引入,使用中间件的方式use。然后再在app.js中引入routes目录下的。
    此处学习来自http://www.jianshu.com/p/0ed0dc3621b0

  • 相关阅读:
    WorkFlow
    自己写的一个多线程的consumer 和 producter 模式
    Visual Studio进行Web性能测试
    基元线程同步——内核模式构造
    系统架构师
    《构建高性能的web站点》读书笔记缓存
    python中的代码对象
    python web框架互相融合, Pyramid或取代Django
    海量数据处理专题
    Django框架学习Forms篇
  • 原文地址:https://www.cnblogs.com/sminocence/p/7923195.html
Copyright © 2011-2022 走看看