在vue-cli下读取模拟数据请求服务器
写此记录时vue脚手架的webpack是3.6.0
此文章方法亦可用于vue-cli3,直接在vue.config.js里面添加
本记录使用vue-resource,先安装:
cnpm install vue-resource --save
在入口js文件中:
import VueResource from 'vue-resource' Vue.use(VueResource)
别忘了事先创建一个用于模拟请求的json文件:
{ "appData":[ {"name":"vbyzc","age":"30"}, {"name":"黄浮驴","age":"30"} ] }
在webpack.dev.conf.js中,找到 const portfinder = require('portfinder') 这一行下面添加:
/*创建一个虚拟api接口服务器*/ const express = require('express') const app = express() var appData = require('../db.json') var apiRoutes = express.Router() /* 查阅了一下资料,发现app.use('/api',apiRoutes) 这句可以不要,直接使用get来设置也可以 路由规则是app.use(path,router)定义的,router代表一个由express.Router()创建的对象,在路由对象中可定义多个路由规则。可是如果我们的路由只有一条规则时,可直接接一个回调作为简写,也可直接使用app.get或app.post方法。 即当一个路径有多个匹配规则时,使用app.use,否则使用相应的app.method(get、post) */
然后在devServer中(最下面算了)添加一项:
before(apiRoutes){ //这里的apiRoutes换成上面的app也可以 //get对中间件express服务器的router进行配置(粗俗理解是用于注册路由) //注册一个名为appData的虚拟路径 apiRoutes.get('/api/MyappData',(req,res) =>{ res.json({ //返回一个对象,appData是上面require导入的一个本地json文件 data:appData }) }) }
这样同域名下的虚拟api服务器也建好了,可以直接访问htttp://localhost:端口/api/MyappData
最后,就可以在vue中请求数据了
export default { name: 'App', data(){ return { apidata :[] } }, created : function(){ this.$http.get('/api/MyappData') .then((response) => { //下面的data,是创建express服务器时创建的对象键名,appData是我们json中的对象键名 //不像jquery的ajax会自动格式化成json,所以还要调用JSON.parse来转换 this.apidata = JSON.parse(response.bodyText).data.appData; //console.log(JSON.parse(response.bodyText).data); },(req) => { //我也不知这个干嘛用的 console.log(req) }) } }
下回使用axios试验一下
在vue-cli下读取模拟数据请求服务器的更多相关文章
- 【vue】生成接口模拟数据
目录 方案一:自定义模拟数据 Step1 创建json文件 Step2 在 vue.config.js 中配置 Step3 在组件中使用 (方式一) Step3 封装api (方式二) Step4 在 ...
- 02 Vue之vue对象属性功能&axios数据请求实现
1.过滤器的声明和使用 过滤器,就是vue允许开发者自定义的文本格式化函数,可以使用在两个地方:输出内容和操作数据中. 定义过滤器的方式有两种. 1 使用Vue.filter()进行全局定义 2 在v ...
- 如何在Vue中使用Mockjs模拟数据的增删查改
之前一直使用json-server在前端开发时,搭建本地数据接口测试,但有时又需要将做好的项目放于 github page上做项目演示.在本地时,json server很好使用,但一旦放在github ...
- shell下读取文件数据
参考:https://www.imzcy.cn/1553.html while和for对文件的读取是有区别的: 1. for对文件的读是按字符串的方式进行的,遇到空格什么后,再读取的数据就会换行显示 ...
- vue 使用mock来模拟数据
首先,需要安装mock npm install mockjs --save-dev 在main.js中引入mock mock文件写法如下: const Mock = require('mockjs') ...
- php模拟数据请求
php:模拟后台接受数据的步骤<?php> 1.连接数据库 $host="localhost"; $uname="root"; $upwd=&quo ...
- vue+mock.js+element-ui模拟数据搞定分页
效果如图: 前提是搭好vue前端框架,npm install mockjs引入mock.js 当前页全部代码如下,其他有关element-ui的引入未提到,仅作参考用 <!-- 用户管理 --& ...
- mockjs模拟数据请求
一般项目的方法 <html> <head> <script> <script src="http://requirejs.org/docs/rele ...
- Flume下读取kafka数据后再打把数据输出到kafka,利用拦截器解决topic覆盖问题
1:如果在一个Flume Agent中同时使用Kafka Source和Kafka Sink来处理events,便会遇到Kafka Topic覆盖问题,具体表现为,Kafka Source可以正常从指 ...
随机推荐
- spring mvc自定义注解--访问时验证
作用:在访问controller的方法时,判断用户是否是登陆状态. step1:定义注解 import java.lang.annotation.ElementType; import java.la ...
- PAT 甲级 1068 Find More Coins
https://pintia.cn/problem-sets/994805342720868352/problems/994805402305150976 Eva loves to collect c ...
- Windows 2019 下安装Oracle18c
1. 跟之前版本不一样 与linux 的版本一样 18c的DB 端的安装有区别. 首先需要 创建一个oracle的目录. 这里最简单的方法是 参照12c的目录来 创建 比如我创建的 然后将 db_ho ...
- 如何使用js判断视频是否可以成功访问
日常工作中会出现各个公司网络不互通的情况,视频如果采用不互通的地址也无法播放,下面方法提供了检测视频是否可以播放的解决方案: 1.跨域 var video = document.createEleme ...
- 【模板】Floyd
int n; ][MAX_N + ]; void Floyd() { ; k <= n; ++k) { ; i <= n; ++i) { ; j <= n; ++j) { d[i][ ...
- Maven项目打包,Jar包不更新的问题
问题: 我的maven项目A要打成Jar包A,依赖了另外一个项目B生成的Jar包B.更改了项目B的代码,然后继续打包项目A,生成的Jar包A中并没有我修改了的代码. 原因: Jar包B在开始时被Ins ...
- 【Revit API】改变填充区域的填充样式
话不多说,直接上代码 var target = pattern.Target; var name = pattern.Name; var fpElem = FillPatternElement.Get ...
- Problem C: 多线程 解题报告
Problem C: 多线程 Description 多线程是一种常见的加速手段,利用多个线程同时处理不同的任务可以一定程度上减少总耗时,达到提高效率的目的.然而,多个线程间的执行顺序是完全不可控的, ...
- POJ 1847 Tram (最短路径)
POJ 1847 Tram (最短路径) Description Tram network in Zagreb consists of a number of intersections and ra ...
- linux命令总结top命令
简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...