Nodejs Express新手教程&高手进阶
Posted mb62456b10a8cef
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nodejs Express新手教程&高手进阶相关的知识,希望对你有一定的参考价值。
Nodejs Express新手教程&高手进阶
Express是一个NodeJS平台的框架,主要用于构于Web服务器项目。
本文将通过示例介绍适合新手入门的Express基础使用,以及高手进阶知识,如:cookie、session、前端框架、负载均衡等。
建立Express项目时,首先使用命令npm init 在项目目录中执行初始化,并执行npm install express --save安装Express。然后即可进行开发。
01:express框架
运行结果:
02:中间件概念
简单说,中间件(middleware)就是处理HTTP请求的函数。它最大的特点就是,一个中间件处理完,再传递给下一个中间件。App实例在运行过程中,会调用一系列的中间件。
每个中间件可以从App实例,接收三个参数,依次为request对象(代表HTTP请求)、response对象(代表HTTP回应),next回调函数(代表下一个中间件)。每个中间件都可以对HTTP请求(request对象)进行加工,并且决定是否调用next方法,将request对象再传给下一个中间件。
03:app.use
每次都会调用默认的访问地址 :
04:中间件应用
调用结果:
05:中间件错误处理
06:异步函数错误捕获
运行结果:
07:模块化路由基础代码
08:构建模块化路由
09:如何获取get请求参数
10:获取Post请求参数
使用三方包body-parser。
11:前端框架
使用三方模块express-generator,然后再使用express命令初始化项目:express --view=pug,表示使用pug模板引擎对前端进行渲染。
执行完这一步就会自动生成需要的文件和文件目录层次,其中包括静态文件和接口简单例子,还用启动命令等,如下图:
接下来,使用 npm start命令启动项目,就可以在浏览器输入localhost:3000查看了:
12:Cookie
在Express中使用cookie的话,要借助cookie-parser中间件。
13:session
session是一种记录客户状态的方式,不同于cookie,session将将信息保存在服务器中。
session原理:session虽然不同于cookie,但是却是基于cookie运作的。当浏览器访问服务器并发送第一次请求时,服务端会创建一个session对象,生成一个类似于key:value的键值对,然后将cookie(key)返回到客户端。浏览器下次访问时,就可以携带cookie(key)找到对应的session(value)。
在express中使用session可借助express-session模块。
在实际项目中,我们大多会采用nginx,多服务负载均衡的方式减轻服务器压力,但是会有一个问题,就是有可能我们之前是在杭州的服务器设置了session,但是下次访问相同网址时如果时通过其他地方(比如深圳)的服务器就无法获取到之前在杭州服务器上设置的session。
所以在实际项目中,通常会将session存放在mongodb中,这样就可以多个服务器共同使用了,为实现这个功能,可再使用connect-mongo模块。
至此,已经实现了Express的新手基础入门,到熟练使用实现众多功能。
由上面的例子可以发现,Express有许多的三方模块,可用于实现各种功能,在我们的实际开发中,多数时间也就是使用这些模块。
以上是关于Nodejs Express新手教程&高手进阶的主要内容,如果未能解决你的问题,请参考以下文章
使用 express js 和 vuejs 提供不同的本地 json 数据
[转] Nodejs 进阶:Express 常用中间件 body-parser 实现解析