在 Vite2 与 Vue3 中使用Mockjs
1. 安装mockjs
npm install mockjs --save-dev
2. 安装vite-plugin-mock
npm i vite-plugin-mock cross-env -D
3.在 package.json 中设置环境变量
{ "scripts": { // 修改dev构建脚本的命令 "dev": "cross-env NODE_ENV=development vite", "build": "vite build", "serve": "vite preview" } }
4.在 vite.config.js 中添加 mockjs 插件
import vue from "@vitejs/plugin-vue" import { viteMockServe } from "vite-plugin-mock" import { defineConfig } from "vite" export default defineConfig({ plugins: [ vue(), viteMockServe({ supportTs: true //如果使用 js发开,则需要配置 supportTs 为 false }) ] })
5.在项目中根目录创建 mock 文件夹,建立getUsers.ts在其中创建需要的数据接口
// 仅做示例: 通过GET请求返回一个名字数组 export default [ { url: "/api/getUsers", method: "get", response: () => { return { code: 0, message: "ok", data: ["tom", "jerry"], } } } ]
6. 修改App.vue,请求接口,显示数据
<template> <img alt="Vue logo" src="./assets/logo.png" /> <div v-for="(item,index) in users"> {{index+1}}-{{item}} </div> </template> <script lang="ts"> import { defineComponent, onMounted, ref } from "vue"; import axios from "axios" export default defineComponent({ name: 'App', setup() { let users = ref([]) onMounted(()=>{ axios.get(`/api/getUsers`).then(res=>{ users.value = res.data.data console.log('users', users) }).catch(err=>{ console.log(err) }) }) return { users } } }) </script>