vue3使用json-server 模拟数据

本文介绍了如何在Node环境中安装和使用json-server创建模拟数据库,以及利用axios进行HTTP请求,包括设置请求和响应拦截器。同时展示了如何封装公共接口以及启动和查看模拟数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

node 环境安装

npm install @types/node --save-dev

安装 json-server(建议全局安装)

npm install -g json-server

创建数据库(其实就是一个 json 文件)

在这里插入图片描述

db.json:

{
  "posts": [
    {
      "id": 1,
      "body": "json-server",
      "author": "typicode"
    }
  ],
  "comments": [
    {
      "id": 1,
      "body": "some comment",
      "params": 1
    },
    {
      "id": 2,
      "body": "some comment2",
      "params": 2
    }
  ],
  "profile": {
    "name": "typicode"
  }
}

安装axios

npm install axios --save

utils/request.ts:

import axios from 'axios'

const request = axios.create({
  baseURL: ' http://localhost:3003'
})
// 请求拦截器
request.interceptors.request.use(function (config) {
  // 统一设置用户身份 token

  return config
}, function (error) {
  // Do something with request error
  return Promise.reject(error)
})

// 响应拦截器
request.interceptors.response.use(function (response) {
  // 统一处理接口响应错误,比如token过期,服务端异常等
  return response
}, function (error) {
  // Do something with request error
  return Promise.reject(error)
})

export default request

api/common.ts:

/**
 * 公共基础接口封装
 */
import request from '@/utils/request'
export const test = () => {
  return request({
    method: 'GET',
    url: '/comments'
  })
}
/* export function getPage(){
  return request.get('/comments')
}
export function getDetail(obj){
  return request({
    url:"/comments",
    method:"get",
    params:obj
  })
} */

启动服务

进入放db.json文件的目录,打开终端输入以下命令
json-server db.json --port 3003
可以把上面命令放在package.json里面,下次启动直接输入npm run mock就可以了
在这里插入图片描述
如果是放在src目录,前面加cd src

"mock": "cd src&json-server db.json --port 3003"

查看数据

views/home/index.vue:

<template>
  <h1>控制台查看数据</h1>
</template>
<script lang="ts" setup>
import { test } from '@/api/common'
import { onMounted } from '@vue/runtime-core'
onMounted(() => {
  test().then(res => {
    console.log(res)
  })
})
</script>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值