ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用vite搭建vue3项目(五)

2021-12-09 03:00:07  阅读:246  来源: 互联网

标签:vue users plugin mock vue3 import vite 搭建


在 Vite2 与 Vue3 中使用Mockjs

1. 安装mockjs

npm i mockjs -S

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>

 

标签:vue,users,plugin,mock,vue3,import,vite,搭建
来源: https://www.cnblogs.com/zsg88/p/15664897.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有