1. 程式人生 > >windows下利用Node.js開發後臺伺服器(三)

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。