如果一个项目只是要实现高并发读取,常常会做一个WebService(前端服务器)--node服务器

基于express框架开发node服务

1.引入express库

-const express = require('express')

2.端口启动

-Express.listen(端口, function() {回调函数}

3.开发接口

-Express.get(路由,RequestHandler 请求助手(处理器))

/**
 * @description 开发一个基于express来实现的服务器
 */

// 引入express库
const express = require('express')

// function express(): core.Express
// express是一个方法,这个方法执行以后会返回一个Express实例
const Express = express()

// 需要监听一个端口来启动一个服务
// listen(port: number, callback?: () => void)
Express.listen(8081, function() {
    console.log('service started on port 8081.')
})

// 开发接口
// get(path: Route, ...handlers: RequestHandler[])
// get方法接收两个参数,第一个参数为path:Route(路由) 它应该是定义一个接口地址(location.path 是除参数、协议、ip、端口,剩下的就是地址)
// ...handlers: RequestHandler[] -- RequestHandler 请求助手(处理器),负责请求和响应的一个函数,[] 表示处理器可以有多个,... 展开运算符;
// get方法可以接收n(n >= 2)个参数,从第二个参数开始都为当前请求的业务处理器

const list = [
    {id: 'admin', name: '超集管理员', sex: '女'}
]

// RequestHandler(req: Request, res: Response, next: NextFunction) => RequestHandler 为一个方法
// 这个方法会入参三个,第一个Request 请求对象,第二参数为响应对象
// next 下一步的函数
Express.get('/user/info', function(req, res, next) {
    // 接收一个id参数
    // 传递在?后边的参数在前端叫:
    // req.query获取到的是一个Express格式化以后的一个对象
    console.log(req.query)

    // 通过find方法可以获取到数据
    let user = list.find(it => it.id === req.query.id)
    
    // 判断user是否存在,来决定是否执行下一个处理函数,如果需要执行下一个处理函数,调用next()
    if (!user) {
        res.send({code: 400, message: '用户不存在'})
    } else {
        next()
    }
}, function(req, res, next) {
    let user = list.find(it => it.id === req.query.id)
    
    // 发送数据到前端
    res.send({code: 200, data: user})
})

 

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/cc-font/p/15617262.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!