node之express框架第一节

14 篇文章 0 订阅

node之express框架第一节

htpp模块

createServer方法的回调函数的第一个参数是一个request对象,拥有以下属性。

url:发出请求的网址。
method:HTTP请求的方法。
headers:HTTP请求的所有HTTP头信息。

const http = require('http')
const qs = require('querystring')
const server = http.createServer()//创建服务器

server.on('request',function (req,res) {
    console.log(req.url)
    // request: 客户端请求 服务端的 信息
    // response: 服务端 响应 客户端的 信息
    res.setHeader('Access-Control-Allow-Origin','*')

    res.end(JSON.stringify({
        status: 200,
        data: ['a','b','c']
    }))
})

server.listen(3000,function (err) {
    if(!err)
    console.log('服务器启动成功')
    console.log('http://localhost:3000')
})

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WwKkmOIg-1603800721935)(E:\凯文的前端博客\框架部分images\8.1.png)]

const http=require('http')
const server=http.createServer();
server.on('request',function(req,res){
    res.setHeader('Access-Control-Allow-Origin','*')
     // req 客户端的信息
    // res 服务端响应客户端的信息
    res.end('http server');
})
response.end([data[, encoding]][, callback])

res .end() 此方法向服务器发出信号,表明已发送所有响应头和主体,该服务器应该视为此消息已完成。 必须在每个响应上调用此 response.end() 方法。

如果指定了 data,则相当于调用 response.write(data, encoding) 之后再调用 response.end(callback)

如果指定了 callback,则当响应流完成时将调用它。

express

Express.js或简称Express,是针对Node.js的web应用框架,主要是帮助我们简化各种web服务的实现方式

下载方式

npm i express
基本用法

express返回的是一个函数, 我们需要通过执行这个函数来得到一个express实例

const express = require('express')

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

const app = express()

const http = require('http').Server(app)

app.get('/',function (req,res) {
    res.header('Access-Control-Allow-Origin','*')

    res.send({
         status: 200,
        msg: 'express 框架'
    })
})
http.listen(3001)

打开http://127.0.0.1:3001/

得到如下界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ccT0ylcw-1603800721938)()]

中间件的概念 app.use

中间件的工作就是在特定的工作在执行之前, 提前先做一些基本处理

比如在发送数据前做一些基本配置

比如在处理数据前做一些格式化数据的工作等等

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zysO6jS2-1603800721941)(E:\凯文的前端博客\框架部分images\8.3.png)]

express的内容分类

在这里插入图片描述

const express = require('express')

const app = express()


// 根路由
app.get('/',function (req,res){
    res.send('express data')
})
// 1级路由
app.get('/guonei',function (req,res){
    res.send('国内的数据')
})
// 1级路由
app.get('/guoji',function (req,res){
    res.send('国际的数据')
})
// 1级路由
app.post('/game',function (req,res){
    res.send('游戏')
})
// 2级路由  多级就是为了清楚 路由的分类 3 4级已经表达了很清楚 没必须再多了
app.get('/help/downloadApp',function (req,res){
    res.send('下载页面')
})

app.get('/login',function (req,res) {
    res.header('Access-Control-Allow-Origin','*')
    // req.query 获取查询字符串参数,返回对象
    console.log(req.query.username)
    console.log(req.query.age)
    res.send('登录接口')
})

app.get('/course/:id/:abc',function (req,res) {
    res.header('Access-Control-Allow-Origin','*')
    // req.query 获取查询字符串参数,返回对象
    console.log(req.params)
    console.log(req.params.id)
    res.send('动态路由参数')
})

// 捕获 没有注册的路由
app.get('*',function (req,res) {
    res.send('此页面不存在')
})
app.listen(3000,function (){
    console.log('express服务器启动成功')
    console.log('http://127.0.0.1:3000')
})

一级路由界面

在这里插入图片描述

express router

在使用express管理url时,我们希望能有一种更方便的管理方式,可以更加简化路由的管理,express router 就是完成这项功能的。

使用router目的是中间件和路由的分离的实例。您可以将其视为“迷你应用程序”,只能执行中间件和路由功能。每个Express应用程序都有一个内置的应用程序路由器。

路由器的行为类似于中间件本身,因此您可以将其用作 app.use()的参数或作为另一个路由器的use()方法的参数。

顶级express对象具有一个用于创建新对象的Router()方法router

另一个路由器的use()方法的参数。

顶级express对象具有一个用于创建新对象的Router()方法router

一旦你创建了一个路由器的对象,你可以添加中间件和HTTP方法路由(如getputpost,等),以它就像一个应用程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值