express搭建与应用(一)

介绍

express是基于 Node.js 平台,快速、开放、极简的 Web 开发框架,下面我们讲解其环境搭建和常见用法

目录

    • 介绍
    • 1、环境搭建
      • 1.1、node安装
      • 1.2、express安装
      • 1.3、环境验证
    • 2、路由
      • 2.1、路由配置
      • 2.2、路由示例
        • 2.2.1、文件结构
        • 2.2.2、代码实现
        • 2.2.3、效果查看
    • 3、get请求与post请求
      • 3.1、get请求参数解析
      • 3.2、post请求参数解析

express搭建与应用(二)
express搭建与应用(三)

1、环境搭建

1.1、node安装

去node中文网下载对应版本进行安装,然后在dos窗口中分别使用node -vnpm -v命令查看版本,如果正常输出版本则说明安装成功。
express搭建与应用(一)_第1张图片

1.2、express安装

新建一个文件夹(如express),先在其目录下使用npm init命令,会生成一个package.json文件,用于保存项目依赖关系和描述信息。再执行npm install express --save命令,生成node_modules目录。
express搭建与应用(一)_第2张图片

1.3、环境验证

创建index.js文件,编写一个服务进行测试

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

app.get('/', (req, res) => res.send('Hello Express!'))

app.listen(port, () => console.log(`Example app listening on port ${port}!`))

使用node 文件名命令启动node服务
express搭建与应用(一)_第3张图片
在浏览器访问http://localhost:3000/地址,输出hello express文本,说明express环境搭建成功。
在这里插入图片描述

2、路由

2.1、路由配置

路由配置其实就是指定请求方式(get、post、put、delete等)和请求路径(这里使用根路径,可根据实际情况编写),req表示请求参数,res表示响应参数,通过调用res.send()方法,可以将数据返回给浏览器。下面举例的4种方式,可以结合postman工具进行测试。

app.get('/', (req, res) => res.send('Got a GET request!'));
app.post('/', (req, res) => res.send('Got a POST request!'));
app.put('/', (req, res) => res.send('Got a PUT request!'));
app.delete('/', (req, res) => res.send('Got a DELETE request!'));

2.2、路由示例

2.2.1、文件结构

创建data.jsrouter.js,data中存放数据,router管理路由请求
express搭建与应用(一)_第4张图片

2.2.2、代码实现

data.js中模拟响应数据

var resInfo={
    "result":{
        "code":"200",
        "msg":"request success"
    }
};

//导出数据
module.exports = resInfo;

router.js中引入data.js文件,并配置路由’/‘和’/msg/’

const express = require('express')
const router  = express.Router();

//引入数据
const data = require('./data.js');

//路由信息
router.get('/', (req, res) => res.send(data));
router.get('/msg/', (req, res) => res.send(data.result.msg));

//导出路由
module.exports =  router;

index.js中引入router.js,并实现服务

const express = require('express');
const app = express();
const port = 3000;
//引入路由
const router = require('./router.js');

//使用路由
app.use('/',router);

//监听服务
app.listen(port, () => console.log(`Example app listening on port ${port}!`));

2.2.3、效果查看

启动服务后,访问http://localhost:3000/msg/地址,返回数据request success
express搭建与应用(一)_第5张图片

3、get请求与post请求

3.1、get请求参数解析

方式一:拼接参数

const express = require('express');
const app = express();
const port = 3000;
const url = require('url');

/**
 *  请求参数解析:get方式一
 */
app.get('/api/', (req, res) =>{
        //解析url请求参数
        const req_url = url.parse(req.url,true);
        const query = req_url.query;
        const name = query.name;
        const phone = query.phone;
        res.send({
            name:name,
            phone:phone
        })
    }
);

//监听服务
app.listen(port, () => console.log(`Example app listening on port ${port}!`));

访问http://localhost:3000/api?name=tom&phone=123456地址,查看解析返回的参数值
在这里插入图片描述
方式二:restful风格

const express = require('express');
const app = express();
const port = 3000;
const url = require('url');

/**
 *  请求参数解析:get方式二
 */
app.get('/api/:name/:phone', (req, res) =>{
        //restful风格
        const name = req.param("name");
        const phone = req.param("phone");
        res.send({
            name:name,
            phone:phone
        })
    }
);

//监听服务
app.listen(port, () => console.log(`Example app listening on port ${port}!`));

访问地址http://localhost:3000/api/jim/15866667777地址,查看解析返回的参数值
在这里插入图片描述

3.2、post请求参数解析

方式一:

const express = require('express');
const app = express();
const port = 3000;
const bodyParser = require("body-parser")


app.use(bodyParser.urlencoded({
    extended:true
}));

/**
 *  请求参数解析:post方式一
 */
app.post('/api/',(req, res) =>{
    const name = req.body.name;
    const phone = req.body.phone;
    res.send({
        name:name,
        phone:phone
    })
});

//监听服务
app.listen(port, () => console.log(`Example app listening on port ${port}!`));

使用postman进行测试
express搭建与应用(一)_第6张图片
方式二:

const express = require('express');
const app = express();
const port = 3000;
const bodyParser = require("body-parser")


app.use(bodyParser.urlencoded({
    extended:true
}));

/**
 *  请求参数解析:post方式二
 */
app.post('/api/',(req, res) =>{
    const name = req.param("name");
    const phone = req.param("phone");
    res.send({
        name:name,
        phone:phone
    })
});

//监听服务
app.listen(port, () => console.log(`Example app listening on port ${port}!`));

使用postman进行测试(同上)

你可能感兴趣的:(#,工程化)