日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mockjs(接口服务代理)

發布時間:2023/12/13 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mockjs(接口服务代理) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

mock官網:http://mockjs.com/

一、搭建一個練習項目

1.利用vue的項目腳手架進行搭建

命令:

vue create mock-demo

截圖:

2.安裝相關的依賴

命令:

#使用 axios 發送 ajax npm install axios --save #使用 mock.js 產生隨機數據 npm install mockjs --save-dev #使用 json5 解決json 文件,無法添加注釋問題 npm install json5 --save-dev

二、學習mockjs

新建mock文件夾,新建testMock.js

mock語法定義

const Mock = require('mockjs') //導入mockjs以來模塊 let id = Mock.mock("@id")//得到隨機的id,字符串 // console.log(id);//測試 let obj = Mock.mock({id:'@id()', //得到隨機的idusername:'@cname()',//隨機生成中文名字date:'@date()',//隨機生成日期avata:"@image('200x200','red','#fff','avatar')",//生成圖片,參數:size,background,foreground,textdescrtption:"@paragraph()",//描述ip:"@ip()",//ip地址email:"@email()"//email }) console.log(obj);

以上代碼的隨機生成位置,還需要自己去官方文檔查看,謝謝!

三、在mockjs中使用json5的操作

通過上面 json5 模塊的安裝后,還需要相應的 vscode 插件

1.設置一個json5文件

2.設置一個js文件,通過 fs \ path 查詢 之前設置的 json5 文件夾

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Kb0J1jjx-1599721543422)(C:\Users\wangyu123\AppData\Roaming\Typora\typora-user-images\image-20200910121003639.png)]

3.在mock文件夾下通過終端獲取得到 “字符串形式的結構”

4.在testJSON5.js文件中引入 模塊 json5,然后利用json的parse() 方法進行字符串轉對象的形式輸出

修改前后的對比:

_在vue項目中使用mock.js_通過devServer配置監聽mock請求

1.在新建的vue.config.js文件中進行devServer的配置

module.exports = {devServer: {...,before: require('./mock/index.js')//引入mock/index.js}, }

2.在mock文件夾下,創建 index.js 并引入代碼

const fs = require('fs') //文件名稱 const path = require('path')//文件路徑 const Mock = require('mockjs')//導入mock 依賴 const JSON5 = require('json5');//導入json5// 讀取json文件 function getJsonFile(filePath){// 讀取指定json文件const json = fs.readFileSync(path.join(__dirname,'./userinfo.json5'),'utf-8')// console.log(json);// 解析并返回return JSON5.parse(json)// console.log(obj); }// 返回一個函數 module.exports = function(app){// 監聽http請求app.get('/user/userinfo', function(rep,res){// 每次響應請求時讀取 mock data 的json 文件// getJsonFile 方法定義了如何讀取json 文件并解析成數據對象var json = getJsonFile('./userinfo.json5');// 將 json 傳入 Mock.mock方法中,生成的數據返回給瀏覽器res.json(Mock.mock(json));}); }

3.在vue項目中使用mock.js_axios發送請求獲取mock提供的數據

3.1 在項目文件夾的HelloWorld.vue文件夾中發送請求

代碼設置為:

export default {name: 'HelloWorld',props: {msg: String},mounted:{axios.get('/user/userinfo').then(res => {console.log(res) }).catch(err => {console.log(err) })} }

獲取到數據為:

4.在vue項目中使用mock.js_mock移除(當后臺接口已寫好的時候移除)

4.1 通過設置 vue cli 的環境變量進行設置

先進行環境變量的判斷:

在根目錄設置 .env.development 文件 設置環境變量的去向值

5.在vue項目中使用mock.js_mock-json5-devServer-axios職責

6.在jQuery項目中使用mock.js_mock攔截請求的原理

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>Document</title><script src="https://cdn.bootcdn.net/ajax/libs/jquery/2.2.4/jquery.min.js"></script><script src="http://mockjs.com/dist/mock.js"></script> </head> <body></body> </html>
7.在jQuery項目中使用mock.js_使用mock
Mock.mock('/user/userinfo','get',{id:"@id()", //得到隨機的idusername:"@cname()",//隨機生成中文名字date:"@date()",//隨機生成日期avata:"@image('200x200','red','#fff','avatar')",//生成圖片,參數:size,background,foreground,textdescrtption:"@paragraph()",//描述ip:"@ip()",//ip地址email:"@email()"//email })

6.2 發送 jQuery 的ajax 請求

<script src="./index.js"></script> <script>$.ajax({url:'/user/userinfo',dataType:'json',success:(data) => {console.log(data);}}) </script>

8.在jQuery項目中使用mock.js_移除mock

8.1 : 直接注釋或刪除引入的mock.js文件

8.2:在編譯的mockjs文件中設置判斷

```

8.在jQuery項目中使用mock.js_移除mock

8.1 : 直接注釋或刪除引入的mock.js文件

8.2:在編譯的mockjs文件中設置判斷


創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的mockjs(接口服务代理)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。