温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

vue本地模拟服务器怎么请求mock数据

发布时间:2022-03-19 16:12:31 来源:亿速云 阅读:227 作者:iii 栏目:开发技术

本篇内容介绍了“vue本地模拟服务器怎么请求mock数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    原因

    • 1、mockjs本地开发的时候用还好,mock数据需要生产时候用就不大行了

    • 2、mock的数据通过module.exportsexport实现的时候,npm run build 生产打包的时候,这些假数据会打包进app.js文件里面,导致文件大、首屏渲染慢;而且,在js文件里面mock的数据量超过webpack限制的时候,打包会失败

    • 3、远程mock数据的就不需要了。像 YApi、网易NEI

    场景

    • 1、做演示项目的时候,数据需要完全本地化实现

    • 2、做演示项目的时候,要求数据可供业务人员修改

    • 3、mock数据量1w+的时候(因为项目用到的数据有6w+,十几M的文件,需要用到此方法了)

    • 4、做的项目,需要前端人员先定义接口数据,后台人员配合传。这时候定义好的数据格式直接扔给后台人员就行了,特别是一些“查”,没有“增删改”的项目,前端写好后,基本不需要怎么修改了,挺方便的。

    • 5、基于vue2 cli3项目

    方法

    vue cli3 的项目,打生产包的时候,public文件夹里面的文件,是不经webpack编译,直接复制到 publicPath设置的目录下的,开发时用到的json数据、图片等资源文件,可以放到 public目录里面。

    mock资源

    如下,准备了一张图片和一个json文件

    table.json, cat.png

    |-- src
    |-- public
        |-- data
            |-- table.json
        |-- images
            |-- cat.png

    配置

    涉及的文件如下(具体参考代码):

    |-- src
        |-- .env.development    // 开发环境配置,主要是配置服务器地址
        |-- .env.production        // 生产环境配置,主要是配置服务器地址
        |-- settings.js    // 一些全局配置,把publicPath的值设置在这里
        |-- utils
            |-- mock-request.js    // axios请求封装
        |-- api
            |-- table.js    // 获取table.json数据的请求封装
        |-- views
            |-- mockDataTest    // 用来显示请求结果
                |-- index.vue
                |-- index.scss
                |-- index.js
    |-- public
        |-- data
            |-- table.json
        |-- images
            |-- cat.png
    |-- vue.config.js

    vue.config.js + settings.js

    先配置下访问公共路径,例如,想在访问的时候地址加上dist路径,可以在vue.config.js如下配置

    module.exports = {
      publicPath: process.env.NODE_ENV === 'production' ? '/' : '/dist',
    }

    为方便调用,记得这里要和settings.js里面的publicPath同步修改。

    .env.development + .env.production

    这里主要是配置下部署的服务器的地址,例如,开发时,本地访问的地址是http://localhost:8081 定义一个参数,存放此地址,名字随意

    VUE_APP_MOCK_URL = 'http://localhost:8081/'

    mock-request.js

    这里主要是配置下axios的baseURL,直接读取.env.development or .env.production里面配置的服务器地址就行,例如,

    baseURL: process.env.VUE_APP_MOCK_URL

    这里会自动根据命令,读取不同环境配置的服务器地址

    table.js

    这里是服务器请求相关的,.json文件的数据怎么请求获取,如下所示

    import mrequest from '@/utils/mock-request'
    import defaultSettings from '@/settings'
    const { publicPath } = defaultSettings
    
    export const tableData = () => {
      return mrequest({
        url: publicPath + `/data/table.json`,
        method: 'get'
      })
    }

    mockDataTest

    这里主要是演示效果

    • 1、调用接口,在界面上显示table.json的数据

    • 2、显示放的图片(也可以是其他资源,例如音乐、视频)

    效果如下

    vue本地模拟服务器怎么请求mock数据

    “vue本地模拟服务器怎么请求mock数据”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI