npm install mockjs --save
新建 mock文件夹 index.ts types.ts api.ts
types.ts
export interface MockParams {
url: string;
type: string;
data?: any;
params?: any;
response(option?: any): Record<string, unknown>;
}
index.ts
import Mock from "mockjs";
import api from "./api";
import { MockParams } from "./types"
const mocks: any[]= [...api]
Mock.setup({
timeout:"1000"
})
export function mockXHR() {
let i: MockParams;
for (i of mocks) {
Mock.mock(new RegExp(i.url), i.type || "get", i.response);
}
}
api.ts 自己在里面写假数据
import Mock from "mockjs";
export default [
{
url: "/upms/user/login",
type: "post",
response: () => {
return {
code: 200,
message: "成功",
data: {
token:"xx6589dde544#EEr",
userInfo:{
username:"",
role:["admin"]
}
},
};
},
},
{
url: "/upms/user/getUserInfo",
type: "get",
response: () => {
return {
code: 200,
message: "成功",
data: {
userInfo:{
username:"",
role:"admin",
}
},
};
},
}
]
main.ts加
import { mockXHR } from "@/mock/index";
if (process.env.NODE_ENV === 'mock') {
mockXHR()
}
.d.ts 文件
declare module 'mockjs'
最外层添加.env.mock
NODE_ENV = mock
package.json 添加启动 scripts
"serve:mock": "vue-cli-service serve --mode mock"
运行 npm run serve:mock