码迷,mamicode.com
首页 > Web开发 > 详细

Node.js Express 框架

时间:2019-10-12 13:25:45      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:设置   port   穷举   集成   回调函数   UNC   函数   模版   正则   

1..Express介绍

Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。

Express的特点:

  • 实现了路由功能
  • 中间件功能
  • 扩展了req和res对象
  • 可以集成其他模版引擎

Express的安装:

npm i express -S

2.基本实例

使用express搭建一个基本的服务器:
步骤一:引入express
步骤二:创建服务对象 express()
步骤三:设置路由,根据路径给客户端响应相关的数据
步骤四:开启服务

//引入express
const express = require("express")
//创建服务对象
let app = express()

//设置路由,监听根路径的访问
app.get("/",function(req,res){
    res.send("<h1>这是首页</h1>")
})

//开启服务,监听80端口
var server = app.listen(80,function(){
    //当前当前监听的端口号
    var port = server.address().port
    console.log(`Server running at http://127.0.0.1:${port}/`)
})

技术图片

2.向客户端响应数据

使用res.send()可以向客户端响应数据时,他有以下几个特点:
(1)除了能接收字符串和Buffer,还可以接收数组或者对象
(2)会自动发送更多的响应报文头,无需手动设置Content-type
(3)响应数据的同时内部会调用red.end()方法结束此次响应,当前也意味着res.send()只能发送一次

//发送数组给客户端
res.send([0,1,2,3])

技术图片

//发送对象给客户端
res.send({name:"雍正",age:45})

技术图片

与res.end()的对比:
(1)res.end()需要设置Content-type,不然无法正确解析数据
(2)res.end()只能接收字符串和Buffer,其他类型的数据会报错

3.注册路由

注册路由有3种方法,get()/use()/all()
(1)app.get():只接收客户端get方式提交的请求,且路径必须一致。(忽略query参数)
(2)app.use():不限定请求的方法,get/post等都可以。路径模糊匹配,这个路径和他的子路径都可以匹配。
PS:这个特性可以用来搭建静态资源服务器。因为静态资源的路径成千上万,不可能使用get()方式穷举
(3)app.post():只接收客户端post方式提交的请求,且路径必须一致。
(4)app.all():不限定请求的方法,但是请求路径要求严格匹配。

语法:app.get()
参数一:要匹配的路径,可以是字符串,也可以是正则表达式。
参数二:回调函数。回调函数有两个参数req和res,用于获取请求信息和响应数据

app.get("/",function(req,res){
    //获取用户请求的路径
    var url = req.url
    res.send(`当前请求的路径为: ${url}`)
}

Node.js Express 框架

标签:设置   port   穷举   集成   回调函数   UNC   函数   模版   正则   

原文地址:https://www.cnblogs.com/OrochiZ-/p/11660705.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!