Skip to content

参考

基于 MSW v2.x 编写

速查

  • 安装 + 初始化:pnpm add -D msw;浏览器 npx msw init public/ --save
  • handler:http.get(url, ({ request, params, cookies }) => HttpResponse.json(...))
  • 测试:setupServer + listen / resetHandlers / close
  • 完整说明见 入门 / Handler / 测试集成 / 网络行为 / 迁移与对比

Handler API

API用途
http.get/post/put/...定义 REST handler
http.all匹配任意方法
graphql.queryGraphQL query handler
graphql.mutationGraphQL mutation handler

HttpResponse

API说明
HttpResponse.json(data, init?)JSON 响应
HttpResponse.text(body)纯文本
HttpResponse.html(body)HTML
HttpResponse.error()网络错误(连接中断)
new HttpResponse(body, init)自定义状态码 / 头

resolver 参数

属性说明
requestFetch API Requestrequest.url 是字符串)
params路径参数
cookies请求 cookie
requestId请求 UUID

server / 生命周期

API说明
setupServer(...handlers)Node 测试(msw/node
setupWorker(...handlers)浏览器(msw/browser
server.listen({ onUnhandledRequest })开始拦截
server.resetHandlers()清运行时 handler
server.close()停止拦截
server.use(...handlers)运行时覆盖(支持 { once: true }

网络行为

API说明
delay(ms?)延迟(精确 / 随机 / "infinite"
passthrough()放行当前请求到真实网络
bypass(request)包装请求,发不被拦截的真实请求
onUnhandledRequest"error" / "warn" / "bypass"

官方资源