- install
msw-tools和msw
npm install -D msw-toolsnpm install -D msw- install
mockServiceWorker.js。每个脚手架生成的项目,静态文件目录可能不同,具体请参考:Common public directories
npx msw init public/ --saveMethod 2: Using CDN in HTML:<body><msw-tools base="/"></msw-tools><script src="http://shimg.jingyanzongjie.com/230724/162Z95A4-1.jpg"></script></body>六、Example以 Vue3 项目为例:- 在入口文件
main.js中根据环境来动态加载
// main.jsimport { createApp } from "vue";import router from "./router";import store from "./store";import App from "./App.vue";import "./assets/css/style.scss";const app = createApp(App);app.use(router).use(store);app.mount("#app");if (process.env.NODE_ENV === "development") {const MswTools = require("msw-tools");new MswTools();}- 在根组件
App.vue中使用<msw-tools />导入
<template><msw-tools base="/" v-if="isDev" /><router-view /></template><script setup>import { ref } from "vue";const isDev = ref(process.env.NODE_ENV === "development");</script>七、参数配置base:开发或生产环境服务的公共基础路径 。- 类型:
string - 默认:
/
- 访问 URL:
https://tiven.cn,对应的 Base:/,使用<msw-tools base="/" />。 - 访问 URL:
https://tiven.cn/service/,对应的 Base:/service/,使用<msw-tools base="/service/" />。
- Vite 的
base配置:Vite Base - Vue3 的
Router/base路由配置:vuejs.org/zh/api/#createwebhistory" rel="external nofollow noreferrer">Vue3 Base
mockServiceWorker.js文件只能放在静态文件目录中(/public),作为Service Worker服务的注册文件,不参与打包编译,只能以 相对路径 的形式引用,不然Service Worker服务无法注册,会导致请求拦截不生效 。service WorkerAPI使用限制:只能在 https(已安转证书)、localhost、127.0.0.1 等服务下使用,否则控制台会出现[MSW] Mocking enabled (fallback mode)日志,也就是说 http 域名服务下不可用 。

文章插图
十、TODO
- Msw-Tools 功能持续优化
- 开启控制台的按钮可拖拽移动
- 封装 mswjs 相关API,减小打包体积
- 规划中...
- Email: tw.email@qq.com
- Issues: msw-tools
闭门造车造轮子,过程很艰难,坚持才有收获 。Thank you ?(?ω?)?
欢迎访问:天问博客
【努力一周,开源一个超好用的接口Mock工具——Msw-Tools】
经验总结扩展阅读
- 关于十年努力的句子
- 陆战之王里牛努力最后跟谁在一起了
- 坚持与努力是什么梗
- 路战之王牛努力的结局是什么?
- 陆战之王叶晓俊和牛努力最后在一起了吗?
- 陆战之王结局牛努力牺牲了吗?
- 陆战之王结局牛努力和谁好了?
- 陆战之王牛努力找工作第几集?
- 陆战之王牛努力结局如何?
- 陆战之王牛努力跟谁在一起了?
