一、express:

1.express:

Express是什么?

Express是基于node.js平台的web应用开发框架;

作用:可以实现快速搭建骨架;

优点:开发web应用更加方便,更加快捷。

(通过node.js在控制台输出“hello world!”和express在控制台输出“hello world!”进行对比,直接感受express的优点)

Node.js在控制台输出“hello world!”:

const http = require('http');

http.createServer((rep,res)=>{

res.end('hollo world!')

}).listen(2000)

依据上面的代码,当我们需要处理get或post请求时,只能将请求的数据代码写在createSever包裹的函数中;

const express = require('express');

//将express赋值给app,此处可以理解为app相当于express

var app = express();

//处理用户请求:

app.get('/',(req,res)=>{

res.send('hello world!');

})

Express处理请求是通过函数去调用方法,这样一来就更省事了。

了解了express是什么,要想熟练运用express,还需要解析express,接下来总结一下如何解析express:

在解析之前先补充一下如何创建express:

新建一个express文件夹——在express文件夹下打开命令窗口——输入命令:express -e(生成express)——在命令框输入cnpm install

创建好express之后开始解析express文件:

进入package.json文件,查看“scripts:{“start”:”supervisor/bin/www”}”,表示bin/www是入口文件——进去bin/www中(作用:在www中实际就是创建了一个服务器)——进入app.js——进入route(存放路由解析文件)——进入views(存放ejs模板引擎的视图文件/ejs模板引擎作用:后端渲染)

在此有必要提及public优先级,public也是express文件下的一个子文件夹,里面存放的是静态文件,所谓public的优先级就是指在渲染页面时是优先渲染public文件下的静态页面,再渲染views。

二、express中间件:

要理解express中间件,先列举一个生活中的例子,中介大家肯定都很熟悉,我们都知道中介扮演的角色就是把房东的意见反馈给租客,再将租客的意愿传达给房东,在介于房东和租客之间的一个存在,而express中间件类似于中介,是介于请求和回复之间的一个函数。

中间件的生命周期:收到request——在服务端进行处理——处理完发送response回去。

使用中间件即app.use();

Next():使用下一个中间件;

如果当前中间件没有终结请求-响应循环,则必须调用 next() 方法将控制权交给下一个中间件,否则请求就会挂起。使用可选则挂载路径,可在应用级别或路由级别装载中间件。可装载一系列中间件函数,在挂载点创建一个中间件系统栈。

浅析express以及express中间件的更多相关文章

  1. nodejs开发 express路由与中间件

    路由 通常HTTP URL的格式是这样的: http://host[:port][path] http表示协议. host表示主机. port为端口,可选字段,不提供时默认为80. path指定请求资 ...

  2. express-13 中间件

    简介 从概念上讲,中间件是一种功能的封装方式,具体来说就是封装在程序中处理HTTP请求的功能. 中间件是在管道中执行的,在Express程序中,通过调用app.use向管道中插入中间件.(在Expre ...

  3. Express学习(2) ------ 中间件

    TJ Holowaychuck 将 “中间件”描述为易于挂载和调用的模块,可以“无序”使用,并有利于应用的快速开发. 1, 中间件是一个模块.在js中,模块意味着函数,所以中间件是一个函数.那么这个函 ...

  4. 理解express中的中间件

    express是轻量灵活的node.js Web应用框架”.它可以帮助你快速搭建web应用.express是一个自身功能极简,完全是由**路由**和**中间件**构成的一个web开发框架,本质上说,一 ...

  5. express路由和中间件

    路由 简单来说,express路由就是用来处理一些请求,响应一些url地址. var express = require('express'); var app = express(); app.ge ...

  6. express中的中间件理解

    什么是中间件 中间件是一个可访问请求对象(req)和响应对象(res)的函数,在 Express 应用的请求-响应循环里,下一个内联的中间件通常用变量 next 表示.中间件的功能包括: 执行任何代码 ...

  7. 对于Node中Express框架的中间件概念的感知

    中间件是什么呢? 中间件就是客户端http请求发起传送到服务器和服务器返回响应之间的一些处理函数. 为什么要使用中间件? 通过中间件,可以对数据进行操作使得我们能方便地操作请求数据编写服务器响应.如b ...

  8. express中的中间件(middleware)、自定义中间件、静态文件中间件、路由中间件

    express文档地址 什么是中间件呢(middleware)?它是谁的中间件呢? 首先我们需要了解到请求和响应, 请求就是客户端发送请求给服务器, 响应就是,服务器根据客户端的请求返回给客户端的数据 ...

  9. node express 会话管理中间件 --- cookie-parser

    本文转载自:https://www.cnblogs.com/bq-med/p/8995100.html cookie是由服务器发送给客户端(浏览器)的小量信息. 我们知道,平时上网时都是使用无状态的H ...

随机推荐

  1. HDU 4117 GRE Words

    这道题不难想到这样的dp. dp[字符串si] = 以si为结尾的最大总权值. dp[si] = max(dp[sj]) ,1.j < i,2.sj是si的子串. 对于第二个条件,是一个多模版串 ...

  2. 深度优先搜索(dfs),城堡问题

    题目链接:http://poj.org/problem?id=1164 1.深搜,每个点都访问一次,没有标记的话,就做深搜,同时标记. #include <iostream> #inclu ...

  3. AFN 切换BaseUrl

    在某个特定的接口需要修改baseurl时: 直接使用kvc: [_sessionManager setValue:[NSURL URLWithString:NEW_BASE_URL] forKey:@ ...

  4. mybatis学习记录六——一对一、一对多和多对多查询

    9       订单商品数据模型 9.1     数据模型分析思路 1.每张表记录的数据内容 分模块对每张表记录的内容进行熟悉,相当 于你学习系统 需求(功能)的过程. 2.每张表重要的字段设置 非空 ...

  5. 调用jquery的resize方法改变div的宽度和高度在IE中不变,在谷歌中可以正常显示

    1.jquery代码: 1.1问题的版本: $(function() { haituheight(); $(window).resize(function(){ haituheight(); }); ...

  6. Python程序的执行原理(转)

    1. 过程概述 Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行. 2. 字节码 字节码在Python虚拟机程序里对应的是PyCo ...

  7. java中String、包装类、枚举类的引用传递

    一般情况下,我们认为Java中了除了八种基本数据类型,其他都是对象,进行引用传递: 但是:String.包装类.枚举类作为参数传递后发现,没有达到引用传递的效果,很多人认为它是值传递! 首先,对象肯定 ...

  8. 如何在Unity中显示FPS

    using UnityEngine; using System.Collections; public class example : MonoBehaviour { public float upd ...

  9. orcal 数据库 maven架构 ssh框架 的全注解环境模版 maven中央仓库批量删除lastupdated文件后依然是lastupdated解决方法 mirror aliyun中央仓库

    批量删除文件,得用批处理文件,文件名随便,路径改成你的Repository,代码如下 rem 这里写你的仓库路径 set REPOSITORY_PATH=d:\repo rem 正在搜索... for ...

  10. 基于 UIImagePickerController 的拓展封装 - iOS

    基于 UIImagePickerController 的拓展,分别支持调用相机.相册的功能,其中相机可以设置默认调用前后摄像头; 简单对此进行了封装和实现,其中还有很多点可以继续挖掘和优化,该版本具体 ...