前后台分离之数据模拟
生活随笔
收集整理的這篇文章主要介紹了
前后台分离之数据模拟
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在前后端分離的項目中,前后端約定好接口以后,就開始進入各自的開發階段了,這時候我們前端不可避免的就需要進行數據模擬,那么怎么進行數據模擬呢?我覺得有兩種:
下面就來個小小的demo吧。
假設前后端的接口約定如下: baseurl: http://test.com
獲取用戶列表:
接下來就可以進行后臺搭建了。
既然是前端,無疑是選擇nodejs作為后臺語言了,框架的話express,koa,thinkjs就隨意了,我就偷下懶用 thinkjs 給大家說一說了。
$ npm install -g think-cli $ thinkjs new demo; $ cd demo; $ npm i; $ npm i mockjs --save; $ npm start如此一來,后臺服務器就已經啟動了。
因為瀏覽器的跨域問題,后臺服務器還需要設置CORS。在app/controller/base.js中添加以下代碼:
__before() {this.setCORS();const isOption = this.isMethod('options');if (isOption) {this.ctx.json();return false;}}setCORS() {this.header('Access-Control-Allow-Origin', this.header('origin') || '*');this.header('Access-Control-Allow-Headers', 'x-requested-with,token');this.header('Access-Control-Allow-Methods', 'GET,POST,OPTIONS,PUT,DELETE');this.header('Access-Control-Allow-Credentials', true);}接下來就是根據接口編寫相應的函數對應接口了,
index/getUserList接口對應的函數為app/controller/index.js文件中的getUserListAction,
getUserListAction() {var data = Mock.mock({'arr|3-9': [{'id| 1': 1,'username': '@email','realname': '@name',}]});return this.ctx.success(data.arr);}注:thinkjs單模塊路由默認最大支持三級路由,多模塊路由默認最大支持四級路由。單模塊時,兩級路由A/B對應的函數為controller/A.js的BAction函數,三級路由A/B/C對應的函數為controller/A/B.js的CAction函數;多模塊可類比。若修改后thinkjs訪問接口報錯,可能是thinkjs未加載修改后的文件,重新啟動試試。
今天就介紹到這里了,有問題的歡迎下方進行評論。
總結
以上是生活随笔為你收集整理的前后台分离之数据模拟的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个前端岗位电话面试所带来的问题的思考
- 下一篇: vue-cli 3.0 使用全过程讲解