Node.js — 搭建一个简单的node服务器

功能介绍

  1. 通过mockjs模拟接口数据并返回
  2. 接口实现分页查询
  3. 支持跨域

项目搭建

1、初始化

npm init

2、安装所需要的包

npm i express cors mockjs

3、创建入口文件app.js

import express from 'express';

const app = express();

/* 监听端口 */
app.listen(3000, () => {
    console.log('——————————服务已启动——————————');
});

接口实现

1、新增一个getList接口

app.get("/getList", (request, response) => {
	response.json({ code: 200, data: {} });
});

2、 mockjs模拟数据

/**
 * mockjs模拟数据
 * 语法规则参考示例:http://mockjs.com/examples.html
 */
import Mock from "mockjs";

const { list } = Mock.mock({
    'list|60': [
        {
            id: '@increment(1)',
            "isTrue|1": [ 1, 0 ],
            describe: "@paragraph(1, 3)",
            num: "@integer(10, 100)",
            author: "@cname",
            title: '@ctitle',
            content: '@cparagraph',
            url: "@url",
            create_time: '@date(yyyy-MM-dd hh:mm:ss)'
        }
    ],
});

3、写一个分页的方法

/**
 * 分页函数
 * @param {*} page 页码
 * @param {*} size 条数
 * @param {*} list 列表数据
 */
const datapager = (page = 1, size = 10, list = []) => {
    const pageNum = Number(page);
    const pageSize = Number(size);
    const startIndex = (pageNum - 1) * pageSize;
    const endIndex = startIndex + pageSize;
    return list.slice(startIndex, endIndex);
};

4、接口返回数据

app.get('/getList', (request, response) => {
    const { page, size } = request.query;
    response.json({
        code: 200,
        data: {
            list: datapager(page, size, list),
            total: list.length
        },
    })
});

配置跨域

在我们自己的服务上去允许跨域,会比在项目中去解决跨域的操作更加方便,因为我们搭建这个简单服务器的目的只是为了方便自己调试

import cors from 'cors';

/**
 * 启用所有cors请求
 * 详细配置参考:https://github.com/expressjs/cors
 */
app.use(cors({
    "origin": true,
    "credentials": true,
}));

源码地址

实用的话就给个 star
https://github.com/hizo-relax/simple-services

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值