详解vue-cli中模拟数据的两种方法


Posted in Javascript onJuly 03, 2018

详解vue-cli中模拟数据的两种方法 

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

详解vue-cli中模拟数据的两种方法 

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

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

/*引入json-server*/
const jsonServer = require('json-server')
/*搭建一个server*/
const apiServer = jsonServer.create()
/*将db.json关联到server*/
const apiRouter = apiServer.router('db.json')
const middlewares = jsonServer.defaults()\
apiServer.use(apiRouter)
apiServer.use(middlewares)
/*监听端口*/
apiServer.listen(3000,(req,res)=>{
 console.log('jSON Server is running') 
})

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

详解vue-cli中模拟数据的两种方法 

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

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

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

详解vue-cli中模拟数据的两种方法 

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

data (){}前使用钩子函数created:function(){

this.$http.get('/api/newsList')
    .then(function(res){
      this.newsList = res.data //赋值给data中的newsList
    },function(err){
      console.log(err)
    })
}

详解vue-cli中模拟数据的两种方法 

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

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

const express = require('express')
const router = express.Router()
const apiData = require('../db.json')
router.post('/:name',(req,res)=>{
  if(apiData[req.params.name]){
    res.json({
      'error':'0',
      data:apiData[req.params.name]
    })
  }else{
    res.send('no such a name')
  }
})

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

const express = require('express')
 const app = express()
 const api = require('../routes/api.js')
 app.use('/api',api)
 app.listen(3000)

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

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

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

总结

以上所述是小编给大家介绍的vue-cli中模拟数据的两种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
利用ASP发送和接收XML数据的处理方法与代码
Nov 13 Javascript
Javascript alert消息换行的方法
Aug 07 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
May 28 Javascript
jQuery函数map()和each()介绍及异同点分析
Nov 08 Javascript
JavaScript获取浏览器信息的方法
Nov 20 Javascript
javascript中sort排序实例详解
Jul 24 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
Jun 18 Javascript
node.js 利用流实现读写同步,边读边写的方法
Sep 11 Javascript
jQuery子选择器与可见性选择器实例分析
Jun 28 jQuery
js实现鼠标拖拽div左右滑动
Jan 15 Javascript
jQuery实现移动端笔触canvas电子签名
May 21 jQuery
详解如何使用Node.js实现热重载页面
May 06 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
Jul 03 #Javascript
基于React+Redux的SSR实现方法
Jul 03 #Javascript
VUE 3D轮播图封装实现方法
Jul 03 #Javascript
vue.js轮播图组件使用方法详解
Jul 03 #Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
Jul 03 #Javascript
解析vue data不可以使用箭头函数问题
Jul 03 #Javascript
详解Vue SPA项目优化小记
Jul 03 #Javascript
You might like
smarty的保留变量问题
2008/10/23 PHP
php 异常处理实现代码
2009/03/10 PHP
PHP number_format() 函数定义和用法
2012/06/01 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
帮助避免错误的Javascript陷阱清单
2009/05/31 Javascript
用Javascript同时提交多个Web表单的方法
2009/12/26 Javascript
JavaScript获取onclick、onchange等事件值的代码
2013/07/22 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
javascript(js)的小数点乘法除法问题详解
2014/03/07 Javascript
js实现搜索框关键字智能匹配代码
2020/03/26 Javascript
详解JavaScript中基于原型prototype的继承特性
2016/05/05 Javascript
easyui form validate总是返回false的原因及解决方法
2016/11/07 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
vue.js 实现点击按钮动态添加li的方法
2018/09/07 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
2018/09/07 jQuery
Vue使用axios引起的后台session不同操作
2020/08/14 Javascript
vue中jsonp插件的使用方法示例
2020/09/10 Javascript
[58:12]Ti4第二日主赛事败者组 LGD vs iG 3
2014/07/21 DOTA
[02:10]2018DOTA2亚洲邀请赛赛前采访-Liquid
2018/04/03 DOTA
浅谈Pycharm中的Python Console与Terminal
2019/01/17 Python
django的settings中设置中文支持的实现
2019/04/28 Python
浅谈python多进程共享变量Value的使用tips
2019/07/16 Python
tensorflow2.0保存和恢复模型3种方法
2020/02/03 Python
Python调用百度OCR实现图片文字识别的示例代码
2020/07/17 Python
HTML5在canvas中绘制复杂形状附效果截图
2014/06/23 HTML / CSS
英国在线自行车商店:Evans Cycles
2016/09/26 全球购物
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
英国伦敦的睡衣品牌:Asceno
2019/10/06 全球购物
公司道歉信范文
2014/01/09 职场文书
婚礼证婚人演讲稿
2014/09/13 职场文书
2015年个人剖析材料范文
2014/12/29 职场文书
环保建议书范文
2015/09/14 职场文书
nginx 反向代理之 proxy_pass的实现
2021/03/31 Servers
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android
解决persistence.xml配置文件修改存放路径的问题
2022/02/24 Java/Android
Win2008系统搭建DHCP服务器
2022/06/25 Servers