我所使用的是新版vue-cli

首先进行所需插件的安装,vue-resource,json-server,proxyTable.

目录结构如图


在main.js中引入vue-resource模块,Vue.use(vueResource).


1.使用json-server(不能用post请求)

接下来找到build目录下的webpack.dev.conf.js文件,在const portfinder = require('portfinder')后面引入json-server.

  1. /*引入json-server*/
  2. const jsonServer = require('json-server')
  3. /*搭建一个server*/
  4. const apiServer = jsonServer.create()
  5. /*将db.json关联到server*/
  6. const apiRouter = apiServer.router('db.json')
  7. const middlewares = jsonServer.defaults()\
  8. apiServer.use(apiRouter)
  9. apiServer.use(middlewares)
  10. /*监听端口*/
  11. apiServer.listen(3000,(req,res)=>{
  12. console.log('jSON Server is running')
  13. })

现在重启服务器后浏览器地址栏输入localhost:3000能进入如下页面则说明json server启动成功了


现在找到config文件夹下的index.js文件,在dev配置中找到proxyTable:{} 并在其中配置

  1. '/api':{
  2. changeOrigin:true, //示范允许跨域
  3. target:"http://localhost:3000", //接口的域名
  4. pathRewrite:{
  5. '^/api':'' //后面使用重写的新路径,一般不做更改
  6. }
  7. }

现在可以使用localhost:8080/api/apiName 请求json数据了


在项目中通过resource插件进行ajax请求

  1. data (){}前使用钩子函数created:function(){
  2. this.$http.get('/api/newsList')
  3. .then(function(res){
  4. this.newsList = res.data //赋值给data中的newsList
  5. },function(err){
  6. console.log(err)
  7. })
  8. }

2.使用express(可以使用post请求)

在项目中新建routes文件并在其中新建api.js,内容如下:

  1. const express = require('express')
  2. const router = express.Router()
  3. const apiData = require('../db.json')
  4. router.post('/:name',(req,res)=>{
  5. if(apiData[req.params.name]){
  6. res.json({
  7. 'error':'0',
  8. data:apiData[req.params.name]
  9. })
  10. }else{
  11. res.send('no such a name')
  12. }
  13. })

接下来找到build目录下的webpack.dev.conf.js文件,在const portfinder = require('portfinder')后面引入express,如下:

  1. const express = require('express')
  2. const app = express()
  3. const api = require('../routes/api.js')
  4. app.use('/api',api)
  5. app.listen(3000)

现在找到config文件夹下的index.js文件,在dev配置中找到proxyTable:{} 并在其中配置

  1. '/api':{
  2. changeOrigin:true, //示范允许跨域
  3. target:"http://localhost:3000", //接口的域名
  4. pathRewrite:{
  5. '^/api':'/api' //后面使用重写的新路径,一般不做更改
  6. }
  7. }

重启之后,便可以post请求访问数据了.

vue-cli中模拟数据的两种方法的更多相关文章

  1. php获取数组中重复数据的两种方法

    分享下php获取数组中重复数据的两种方法. 1,利用php提供的函数,array_unique和array_diff_assoc来实现 <?php function FetchRepeatMem ...

  2. MySQL中删除数据的两种方法

    转自:http://blog.csdn.net/apache6/article/details/2778878 1. 在MySQL中有两种方法可以删除数据: 一种是delete语句,另一种是trunc ...

  3. 关于MySQL中添加数据的两种方法

    下面介绍两种执行SQL命令的方法,并作出相应地总结,第一种介绍一种常规用法,下面进行做简要地分析,首先我们需要执行打开数据库操作首先创建一个MySqlConnection对象,在其构造函数中传入一个连 ...

  4. Android中使用Gson解析JSON数据的两种方法

    Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下   Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...

  5. vue中使用echarts的两种方法

    在vue中使用echarts有两种方法一.第一种方法1.通过npm获取echarts npm install echarts --save 2.在vue项目中引入echarts 在 main.js 中 ...

  6. SQLServer 批量插入数据的两种方法

    SQLServer 批量插入数据的两种方法-发布:dxy 字体:[增加 减小] 类型:转载 在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Ins ...

  7. react在router中传递数据的2种方法

    概述 不传递数据叫什么单页面应用,渲染模块还需要http请求算什么单页面应用. 本文总结了react-router4中使用BrowserRouter时传递数据的两种方法,供以后开发参考,相信对其他人也 ...

  8. python中执行shell的两种方法总结

    这篇文章主要介绍了python中执行shell的两种方法,有两种方法可以在Python中执行SHELL程序,方法一是使用Python的commands包,方法二则是使用subprocess包,这两个包 ...

  9. 关于iOS去除数组中重复数据的几种方法

    关于iOS去除数组中重复数据的几种方法   在工作工程中我们不必要会遇到,在数组中有重复数据的时候,如何去除重复的数据呢? 第一种:利用NSDictionary的AllKeys(AllValues)方 ...

随机推荐

  1. 这可能是最简单易懂的 ZooKeeper 笔记

    分布式架构 CAP 与 BASE 理论 一致性协议 初识 Zookeeper Zookeeper 介绍 Zookeeper 工作机制 Zookeeper 特点 Zookeeper 数据结构 Zooke ...

  2. SQL SERVER 中的smalldatetime和datetime区别

    原文:SQL SERVER 中的smalldatetime和datetime区别 smalldatetime不能到秒. 不過它占的空間小.(4位) datetime(8位) 而且兩者的時間範圍不一樣. ...

  3. Android控制UI界面

    ⒈使用XML布局文件控制UI界面[推荐] Android推荐使用XML布局文件来控制视图,这样不仅简单.明了,而且可以将应用的视图控制逻辑从Java或Kotlin代码中分离出来,放入XML文件中控制, ...

  4. 简单实现JDBC自动加载驱动,简化数据连接和关闭数据库连接

    package util; import java.io.File;import java.io.FileInputStream;import java.io.IOException;import j ...

  5. PAT A1011 World Cup Betting(20)

    AC代码 #include <cstdio> #include <algorithm> const int max_n = 3; using namespace std; /* ...

  6. 数据库连接池的sqlhelper

    import pymysql import threading from DBUtils.PooledDB import PooledDB """ storage = { ...

  7. Djangon简介

    目录 Djangon简介 MVC与MTV模型 MVC MTV python三大主流web框架 Django的下载与基本命令 基于Django实现的一个简单示例 Django静态文件配置 Django ...

  8. Stardew Valley(星露谷物语)Mod开发之路 1环境配置

    首先来说明一下,我写这个章节本身也是对学习过程的记录,主要参考了http://canimod.com/guides/creating-a-smapi-mod中的内容.也推荐大家看看. *这些是我的开发 ...

  9. 另类--kafka集群中jmx端口设置

    # 监控kafka集群 # 有一个问题,需要在kafka-server-start.sh文件中配置端口,有如下三种办法 # 第一种:复制并修改kafka目录,比如kafka-1,kafka-2,kaf ...

  10. Tomcat中的Host和Engine级别的servlet容器

    这边文章主要介绍的是Host容器 和 Engine容器.如果你想在同一个Tomcat上部署运行多个Context容器的话,你就需要使用Host容器,从理论上来讲,如果你的Tomcat只想要部署一个Co ...