本篇内容介绍了“vue本地模拟服务器怎么请求mock数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
原因
1、mockjs本地开发的时候用还好,mock数据需要生产时候用就不大行了
2、mock的数据通过module.exports、export实现的时候,npm run build 生产打包的时候,这些假数据会打包进app.js文件里面,导致文件大、首屏渲染慢;而且,在js文件里面mock的数据量超过webpack限制的时候,打包会失败
3、远程mock数据的就不需要了。像 YApi、网易NEI
场景
方法
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
这里主要是演示效果
效果如下

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