【VUE】用nodejs快速搭建简易的mock数据服务器

问题详情

前端项目需要一些mock数据,用nodejs写一个后端完成数据的返回、请求参数的读取、请求参数的处理。

最简易解决办法

创建一个叫service.js的文件。

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

//设置允许跨域访问该服务.
app.all('*', function (req, res, next) {
    res.header('Access-Control-Allow-Origin', '*');
    //Access-Control-Allow-Headers ,可根据浏览器的F12查看,把对应的粘贴在这里就行
    res.header('Access-Control-Allow-Headers', 'Content-Type, token');
    res.header('Access-Control-Allow-Methods', '*');
    res.header('Content-Type', 'application/json;charset=utf-8');
    next();
});

app.post('/service', function (req, res) {
    res.json(
        {
            title:"你好"
        });

});

const server = app.listen(8084, function () {
    console.log('Express app server listening on port %d', server.address().port);
});

然后,terminal输入,node service.js运行即可。(相关依赖记得装一下)
路径是localhost:8084/service

复杂一些的处理方法

其实没有什么区别,只是把请求给独立出来。创建main.js文件

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

app.listen(8021, () => {
    // 打印一下接口用例地址
    console.log('http://localhost:8021')
})

const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended: false}))

//设置跨域访问
app.all('*', function (req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
    res.header("X-Powered-By", ' 3.2.1')
    res.header("Content-Type", "application/json;charset=utf-8");
    next();
});


// 关于test的接口,需要的内容
// 1.创建文件'./api/test/test.js',
// 2.let test='',
// 3.const test,
// 4.use test
let test_url = '/test'
const test_file = require('./api/test/test')
app.use(test_url,test_file)

然后运行即可,test.js见下文。

请求参数处理

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

router.all('/testdetail', (req, res) => {
    // console.log(req.query)
    let num = req.query.num
    let name_query = req.query.name
    let name_body = req.body.name

    let res_body = {
        "code": 200,
        "msg": "成功",
        "data": {
        }
    }

    if (num=='0'){
        res_body.data={
            "query_value_name" : name_query
        }
    }else{
        res_body.data={
            "body_value_name" : name_body
        }
    }

    res.json(
        res_body
    );
});

module.exports = router;

启动服务,node main.js即可。
路径是localhost:8021/test/testdetail
可以使用路由携带query params参数,也可以用body携带各种参数。
更多req的信息,可以用console.log(req)来查看。
至于更多的自定义的方法,只要会写js就可以自己再做各种添加了。

其他

本文只涉及了最简单的一些服务启动,路由监听,参数处理,数据返回的功能。
更多的功能,比如数据库连接或者权限认证什么的,这个最简单的mock数据服务器都暂时没有实现(数据库可以查看文末参考资料,实现非常简单)。后续如果需要做了,本文或其他文章会再做补充。

参考资料

https://blog.csdn.net/qq_37860634/article/details/88842779

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值