windows下利用Node.js开发后台服务器(三)

三.为前端做数据接口
1.在项目文件夹下新建app.js文件作为项目主入口文件

2.项目需要用到koa\koa-bodbparser\kou-router\kou-cors模块,先requrie进去

const Koa = require('koa');
const bodyParser = require('koa-bodyparser');
const cors = require('koa-cors');
const router = require('koa-router')();
const app = new Koa();
3.这里我是用了Vue全家桶Vue-cli开发前端页面,本地端口为8080,而该node后台服务器监听端口为8088,端口不同导致跨域问题出现了,这里使用koa-cors解决跨域问题.

app.use(cors({
    origin : 'http://localhost:8080',  //配置允许接入的url
    maxAge : 5, //请求结果缓存多久,单位(秒)
    allowMethods : ['GET', 'POST'], //允许GET\POST请求介入
}));
4.在koa中注册组件,并监听8088端口。(注:koa-bodyparse要在koa-router之前注册否则无效)

app.use(bodyParser());
app.use(router.routes());
app.listen(8088);
5.写一个‘/user/:id’的接口,用来接收一个post请求,将前端传入的用户id返回给用户
router.post('/user/:id', async (ctx, next)=>{
    await next();
    var id = ctx.params.id;
    ctx.response.body = ''+id;
});
6.前端写一个ajax发送post请求,将用户id传递给服务器,同时将服务器返回的数据打印出来(笔者这里使用vue的axios发送一个ajax请求,代码仅供作为示例参考)

this.axios.post('http://localhost:8088/user/1').then((data)=>{
        alert(data.data);
      }).catch((data)=>{
        console.log(data.message);
      })
7.启动node服务器,这里在命令提示符中输入 supervisor app.js,使用supervisor人重载模块启动app.js文件,好处是当代码更改后会进行热替换,而不需要重启node服务器。
8.前端页面通过点击事件发送一个ajax请求,并打印结果。
9.很多人会问,如果利用node操作数据库呢,下节中将做介绍。
10.参考项目demo已托管在我的 GitHub上,并在持续更新,欢迎围观,如果觉得有用请给个Star。








你可能感兴趣的:(Node.js,服务器)