您的位置:首页 > Web前端 > Node.js

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

2018-01-23 08:56 766 查看
三.为前端做数据接口

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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息