共享内容
插件支持在 *.mock.*
文件中,使用第三方依赖库,也支持引入本地的依赖文件。
WARNING
虽然也可以在 *.mock.*
文件中,引入项目 src
文件,但由于 *.mock*
文件并不是直接使用 vite
的 代码编译模块进行处理的, vite
中使用其他插件,或者是其他配置对 代码内容的处理,可能导致 mock 插件解析失败, 因此不建议引入 src
中的文件。
在插件的未来版本规划中,将会进行处理。
有时候,不同的 mock配置文件,需要使用到一些工具函数, 或者使用同一份相同的数据内容。
建议在 /mock
目录中,新建 /mock/shared
目录,用于保存 工具函数以及数据内容。
sh
./mock
└── shared
├── database # 数据
└── utils # 工具函数
./mock
└── shared
├── database # 数据
└── utils # 工具函数
比如,提供一个 返回数据的包装函数,和一个 用户数据文件
ts
export const successWrap = (data) => {
return {
code: 0,
message: 'success',
result: data,
}
}
export const successWrap = (data) => {
return {
code: 0,
message: 'success',
result: data,
}
}
ts
export const userMap = {
Mark: {
name: 'Mark',
age: 20,
},
John: {
name: 'John',
age: 21,
}
}
export const userMap = {
Mark: {
name: 'Mark',
age: 20,
},
John: {
name: 'John',
age: 21,
}
}
ts
import { userMap } from '../shared/database/user'
import { successWrap } from '../shared/utils/dataWrap'
// Match api/user/info?name=*
export default defineMock({
url: 'api/user/info',
body({ query }) {
const { name } = query
return successWrap(userMap[name])
}
})
import { userMap } from '../shared/database/user'
import { successWrap } from '../shared/utils/dataWrap'
// Match api/user/info?name=*
export default defineMock({
url: 'api/user/info',
body({ query }) {
const { name } = query
return successWrap(userMap[name])
}
})