node-Express

什么是Express?

Express是基于Node.js平台,快速、开放、极简的Web开发框架。

express 入门

  1. 创建一个文件夹

  2. 在cmd命令下,进入当前文件夹

  3. 初始化npm 环境(否则直接下载模块会报错)

npm init -y
  1. 安装express模块
npm i express

基于express快速搭建 后台服务

  1. 引入express模块

  2. 调用express方法,生成express实例对象

  3. 设置路由,来响应不同的url地址请求

    路由:一个url地址对应一个不同的路由处理程序(不同的url地址有不同的回调函数去响应)

  4. 监听端口号

const express = require('express'); 
const app = express(); 

app.get('/',function(req, res){
    res.send('构建一个基本服务器');
   
});

app.listen(4399); 

express 路由

路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET、POST 等)组成的,涉及到应用如何响应客户端对某个网站节点的访问。每一个路由都可以有一个或者多个处理器函数,当匹配到路由时,这个/些函数将被执行

  • app 是 express 实例对象
  • methods 是请求方法 get | post | put | update | delete |…
  • path 就是路径(url定值的 pathname ),必须以’/'开头
  • callback 回调函数,路由的处理函数
  • req
    • res (这里的 req res 就是原生nodejs中的 req res。但比原生中要多一些属性方法,是express加上去的)
    • next 是一个方法,调用这个方法会让路由继续匹配下一个能匹配上的
var express = require('express');
var app = express();


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


app.post('/', function (req, res) {
  res.send('POST request to the homepage');
});
//app.all() 是一个特殊的路由方法,没有任何 HTTP 方法与其对应,它的作用是对于一个路径上的所有请求加载中间件。
app.all('/secret', function (req, res, next) {
  console.log('Accessing the secret section ...');
  next(); 
});

express 响应方法

下表中响应对象(res)的方法向客户端返回响应,终结请求响应的循环。如果在路由句柄中一个方法也不调用,来自客户端的请求会一直挂起。

方法描述
res.download()提示下载文件
res.end()终结响应处理流程。
res.JSON()发送一个 JSON 格式的响应
res.redirect()重定向请求
res.render()渲染视图模板
res.send()发送各种类型的响应

利用 Express 托管静态文件

通过 Express 内置的 express.static 可以方便地托管静态文件,例如图片、CSS、JavaScript 文件等。

将静态资源文件所在的目录作为参数传递给 express.static 中间件就可以提供静态资源文件的访问了

例如,假设在 views 目录放置了图片、CSS 和 JavaScript 文件,你就可以:

app.use(express.static('views'));

现在,views 目录下面的文件就可以访问了。

http://localhost:4399/images/kitten.jpg
http://localhost:4399/css/style.css
http://localhost:4399/js/app.js
http://localhost:4399/images/bg.png

如果你的静态资源存放在多个目录下面,你可以多次调用 express.static 中间件:

app.use(express.static('views'));
app.use(express.static('lib'));

中间件

定义

什么叫中间件,引用官方的解释就是:
中间件(Middleware) 是一个函数,它可以访问请求对象(request object (req)), 响应对象(response object (res)), 和 web 应用中处于请求-响应循环流程中的中间件,一般被命名为 next 的变量。Express 是一个自身功能极简,完全是由路由和中间件构成一个的 web 开发框架:从本质上来说,一个 Express 应用就是在调用各种中间件。

中间件可以做的事情

  • 执行任何代码。
  • 修改请求和响应对象。
  • 终结请求-响应循环。
  • 调用堆栈中的下一个中间件。

内置中间件:
express.static 是 Express 唯一内置的中间件。它负责在 Express 应用中托管静态资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值