在 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>

