基于express开发Node服务器

Posted cc-font

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于express开发Node服务器相关的知识,希望对你有一定的参考价值。

如果一个项目只是要实现高并发读取,常常会做一个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})
})

 

以上是关于基于express开发Node服务器的主要内容,如果未能解决你的问题,请参考以下文章

Node、Express、Ajax 和 Jade 示例

使用Express开发个人网站

Express框架

node.js零基础详细教程:express 路由

Node js之Express初步介绍和安装

从0开始学习node+express;