使用mock.js隨機數(shù)據(jù)和使用express輸出json接口的實現(xiàn)方法
前端項目都會用到后端的接口,但當(dāng)后臺接口沒有寫好的時候,這時候可以用mock.js先隨機生成一些假數(shù)據(jù)來調(diào)試頁面
安裝mock.js
先用express創(chuàng)建一個nodejs的web項目,名字假如是 demo ,這里就不說了
yarn add mockjs
使用
const Mock = require('mockjs') var data = Mock.mock({ 'list|2': [{ 'id|+1': 1, 'color': '@color()', 'date': '@datetime()', 'img': '@image()', 'url': '@url(http)', 'email': '@email()', 'name': "@name(1,2)", 'text': '@paragraph()' }] }) console.log(JSON.stringify(data))
上面的隨機方法在最下面給出的mockjs文檔的鏈接里可以找到,Mock.Random調(diào)用的方法,直接拿來在前面加上@就可以用了,非常方便
輸出
{ "list": [ { "id": 1, "color": "#8179f2", "date": "2015-06-22 12:10:08", "img": "http://dummyimage.com/250x250", "url": "http://hwujcvh.fk/vfrjfmi", "email": "y.ahbatuekk@mbkhfybrh.pl", "name": "James Ronald Rodriguez", "text": "Zsogshtw qjscoe qwggnfk ppbdpqd avftd pvczrvnu gsyfyefm rbnbjyy tgemy buple ieghyjp klcxauofu lhjmnb kjpyodk. Njync ysrvx jevei stawy mcosrlpo iacryqob wkkcfuh nkrrdutr zduikjvtf dcv pppbhi ygjnkmg xvpusp ayu lvu. Wgqmtwvo ibqzp cct kodyh ovz slo cpc uqaseuwv ubjgbf hihh oudly mooztiojpi tubmwhsmb kktbkyqp hsvwgoluu jrkosqudm. Wpumdvtw riytwoa sbittrr xtjy beorkb osnjpigntu ndrgxhozeq iufhu hpuirgmh lstoijpqx hopk lkxceqhvr uymj pgdms njjmu ivxijmokn." }, { "id": 2, "color": "#94f279", "date": "1980-02-20 19:46:44", "img": "http://dummyimage.com/336x280", "url": "http://voyqj.cx/jjyksqzur", "email": "k.ydgui@gixl.cr", "name": "Ronald Nancy Harris", "text": "Lbdpwqwpgd sodipqu oncnnyis ebtwho dnbt fqxnjyzr qtrriop gfbjt prto dgmtgff gwaqnhon sdlvpxpj pqomfflsc skj. Cvteunoj oqmjnfm vowvmw ypywtr klcazkvg cvsyzayytl bgvywe kfqqzhfg iahm jwury xsgf xnr pvfxwhaed nauookwi xuxtgnwq flcbmnrm qglgziy vegml. Cexit vdotefuj nptmei hekmljnt bukxrd ndhj lkfyjcv oldpgo rrj kprfklt nfks yvrvc. Aynbyd hxguza ftjrn kmlirqo wxald jqjkvahim jnhezpgm usev qbynwhm yotehgkwdg eyxj vfnm icchnds dgmd odxajing vqrdl yhpp eba. Tykxnhe njod bslwbsjcj rwlv rkvxk rypew fpfqrqi psislxuwgs jcwrbtfn qeszy leovhc jwupwzo kitct nhbdhjq xyiajxms. Gfgkw nnlg drcqnpwn bowqknwy oiw yysaohk fqqsbgvp mulik vusikwv nbp kpbo nhti dhf hrgql." } ] }
集成到express里輸出json
const Mock = require('mockjs') exports.index = function(req, res) { var data = Mock.mock({ 'list|2': [{ 'id|+1': 1, 'color': '@color()', 'date': '@datetime()', 'img': '@image()', 'url': '@url(http)', 'email': '@email()', 'name': "@name(1,2)", 'text': '@paragraph()' }] }) // 延時1秒,模擬網(wǎng)絡(luò)請求時間 setTimeout(function() { res.send(JSON.stringify(data)) }, 1000); }
express跨域
接口地址跟前端項目地址肯定會不一樣,這時候請求接口就會涉及到跨域的問題,express里的解決辦法如下
app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", "http://localhost:8080"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS"); res.header("X-Powered-By",' 3.2.1') res.header("Content-Type", "application/json;charset=utf-8"); res.header('Access-Control-Allow-Credentials', true); next(); });
說明:上面代碼是在網(wǎng)上找的,不過網(wǎng)上找的沒有這句 res.header('Access-Control-Allow-Credentials', true);
我前端項目的地址是 http://localhost:8080 所以 Access-Control-Allow-Origin 的值就是 http://localhost:8080
可以根據(jù)自己的服務(wù)器來修改
參考
總結(jié)
以上所述是小編給大家介紹的使用mock.js隨機數(shù)據(jù)和使用express輸出json接口的實現(xiàn)方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!
- vue+mockjs模擬數(shù)據(jù)實現(xiàn)前后端分離開發(fā)的實例代碼
- Node.js服務(wù)器環(huán)境下使用Mock.js攔截AJAX請求的教程
- vue-cli項目中使用Mockjs詳解
- vue+vuecli+webpack中使用mockjs模擬后端數(shù)據(jù)的示例
- Vue+Mock.js模擬登錄和表格的增刪改查功能
- Node.js測試中的Mock文件系統(tǒng)詳解
- kmock javascript 單元測試代碼
- express+mockjs實現(xiàn)模擬后臺數(shù)據(jù)發(fā)送功能
- vue+axios+mock.js環(huán)境搭建的方法步驟
- mockjs+vue頁面直接展示數(shù)據(jù)的方法
- mock.js實現(xiàn)模擬生成假數(shù)據(jù)功能示例
相關(guān)文章
PHP+jQuery+Ajax+Mysql如何實現(xiàn)發(fā)表心情功能
這篇文章通過php+jquery+ajax+mysql相結(jié)合,實現(xiàn)當(dāng)用戶瀏覽網(wǎng)站文章或者是論壇帖子后,想表達(dá)自己瀏覽后的心情,發(fā)表自己的感受,很多網(wǎng)站都提供了用戶發(fā)表心情的功能,通過此功能可以很直觀的分析文章或者是論壇對瀏覽者的用戶體驗度2015-08-08javascript合并兩個數(shù)組最簡單的實現(xiàn)方法
這篇文章主要介紹了javascript合并兩個數(shù)組最簡單的實現(xiàn)方法,方法很簡單,有需要的朋友們可以學(xué)習(xí)下。2019-09-09JavaScript判斷用戶名和密碼不能為空的實現(xiàn)代碼
下面小編就為大家?guī)硪黄狫avaScript判斷用戶名和密碼不能為空的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧2016-05-05JavaScript 對引擎、運行時、調(diào)用堆棧的概述理解
這篇文章旨在深入挖掘JavaScript,以及向大家解釋JavaScript是如何工作的。非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-10-10BootStrap Datetimepicker 漢化的實現(xiàn)代碼
這篇文章主要介紹了 BootStrap Datetimepicker 漢化的實現(xiàn)代碼,需要的朋友可以參考下2017-02-02微信小程序?qū)崿F(xiàn)手機獲取驗證碼倒計時60s
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)手機獲取驗證碼后倒計時60s,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05體驗js中splice()的強大(插入、刪除或替換數(shù)組的元素)
javascript splice()算是最強大的了,它可以用于插入、刪除或替換數(shù)組的元素。下面來一一介紹,感興趣的朋友2013-01-01