写此记录时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下读取模拟数据请求服务器的更多相关文章

  1. 【vue】生成接口模拟数据

    目录 方案一:自定义模拟数据 Step1 创建json文件 Step2 在 vue.config.js 中配置 Step3 在组件中使用 (方式一) Step3 封装api (方式二) Step4 在 ...

  2. 02 Vue之vue对象属性功能&axios数据请求实现

    1.过滤器的声明和使用 过滤器,就是vue允许开发者自定义的文本格式化函数,可以使用在两个地方:输出内容和操作数据中. 定义过滤器的方式有两种. 1 使用Vue.filter()进行全局定义 2 在v ...

  3. 如何在Vue中使用Mockjs模拟数据的增删查改

    之前一直使用json-server在前端开发时,搭建本地数据接口测试,但有时又需要将做好的项目放于 github page上做项目演示.在本地时,json server很好使用,但一旦放在github ...

  4. shell下读取文件数据

    参考:https://www.imzcy.cn/1553.html while和for对文件的读取是有区别的: 1. for对文件的读是按字符串的方式进行的,遇到空格什么后,再读取的数据就会换行显示 ...

  5. vue 使用mock来模拟数据

    首先,需要安装mock npm install mockjs --save-dev 在main.js中引入mock mock文件写法如下: const Mock = require('mockjs') ...

  6. php模拟数据请求

    php:模拟后台接受数据的步骤<?php> 1.连接数据库 $host="localhost"; $uname="root"; $upwd=&quo ...

  7. vue+mock.js+element-ui模拟数据搞定分页

    效果如图: 前提是搭好vue前端框架,npm install mockjs引入mock.js 当前页全部代码如下,其他有关element-ui的引入未提到,仅作参考用 <!-- 用户管理 --& ...

  8. mockjs模拟数据请求

    一般项目的方法 <html> <head> <script> <script src="http://requirejs.org/docs/rele ...

  9. Flume下读取kafka数据后再打把数据输出到kafka,利用拦截器解决topic覆盖问题

    1:如果在一个Flume Agent中同时使用Kafka Source和Kafka Sink来处理events,便会遇到Kafka Topic覆盖问题,具体表现为,Kafka Source可以正常从指 ...

随机推荐

  1. Beta版项目总结

    1.设想与目标 我们的产品名是理财猫,为了解决当今大学生花钱不知道节制以及不知道花的钱都去哪了的痛苦,提醒他们该记录这一天的消费情况,我们有独特的办法那就是将记账软件和闹钟结合起来,每天定时的提醒用户 ...

  2. Alpha 冲刺四

    团队成员 051601135 岳冠宇 051604103 陈思孝 031602629 刘意晗 031602248 郑智文 031602234 王淇 会议照片 项目燃尽图 项目进展 实现后端聊天接收,搜 ...

  3. 第十一周PSP&进度条

    PSP 一.表格: D日期     C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 11月24号 站立会议 分配任务&设计final方案 1 ...

  4. idea不能跟随输入法问题

    在写注释的时候会发现输入法不跟随,这是idea工具本身存在的bug,这个问题很头疼,我找了好多办法都不行,比如删除idea自带的jre,这个办法对我的2018.1.5版本并不适用,以下办法是不需要删除 ...

  5. c#public、private、protected、internal、protected internal

    public 公有访问.不受任何限制.private 私有访问.只限于本类成员访问,子类,实例都不能访问.protected 保护访问.只限于本类和子类访问,实例不能访问.internal 内部访问. ...

  6. Java学习之StringBuffer

              1.类介绍 ①线程安全的可变字符串序列,一个类似于String的字符串缓冲区,但是不能修改(就是不能通过加号+连接,String就可以) ②StringBuffer和String类 ...

  7. win10用vncviewer远程登陆ubuntu桌面

    一:安装Ubuntu的服务端桌面环境 # 安装xrdpsudo apt-get install xrdp # 安装xfce4sudo apt-get updatesudo apt-get instal ...

  8. bzoj 1798: [Ahoi2009]Seq 维护序列seq (线段树 ,多重标记下放)

    1798: [Ahoi2009]Seq 维护序列seq Time Limit: 30 Sec  Memory Limit: 64 MBSubmit: 7773  Solved: 2792[Submit ...

  9. (转)C# Aop简单扫盲及ORM实体类属性拦截示例

    转自: http://www.cnblogs.com/cyq1162/archive/2012/05/30/2526573.html 先说下场景,C#中为什么要使用Aop,而我又是在哪里使用Aop? ...

  10. 【CF888E】Maximum Subsequence(meet in the middle)

    [CF888E]Maximum Subsequence(meet in the middle) 题面 CF 洛谷 题解 把所有数分一下,然后\(meet\ in\ the\ middle\)做就好了. ...