详解vue2.0模拟后台json数据


Posted in Javascript onMay 16, 2019

最近在跟着做vue2.0以上版本的一个购物平台,在涉及到模拟后台数据交互的时候,视频里讲的是通过json-server这个插件和express,由于之前的配置都是在build/dev-server.js文件夹下,在vue2.0都没有了,全部整合到了build/webpack.dev.conf.js文件里,通过不断查阅资料后终于模拟成功。

1.首先 npm install vue-resource  --save安装vue-resourse,并且在页面上引用(--save 会把依赖包名称添加到 package.json 文件 dependencies 键下,--save-dev 则添加到 package.json 文件 devDependencies 下)

详解vue2.0模拟后台json数据

2.在项目目录下添加一个xx.json,爱叫啥叫啥~~,但是里面的格式一定要是json格式。如果不确定是否符合json格式,可以点击这里使用工具校验

详解vue2.0模拟后台json数据

3.直接在webpack-dev-conf.js文件中修改

第一步:在const portfinder = require(‘portfinder')后添加

const express = require('express')
const app = express()//请求server
var appData = require('../db.json')//加载本地数据文件
var news = appData.getNewsList//获取对应的本地数据
var products = appData.getproductList
var boards = appData.getBoardList
var apiRoutes = express.Router()
app.use('/api', apiRoutes)

第二步:找到devServer,在里面加上before()方法

devServer: {
  clientLogLevel: 'warning',
  historyApiFallback: {
   rewrites: [
    { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
   ],
  },
  hot: true,
  contentBase: false, // since we use CopyWebpackPlugin.
  compress: true,
  host: HOST || config.dev.host,
  port: PORT || config.dev.port,
  open: config.dev.autoOpenBrowser,
  overlay: config.dev.errorOverlay
   ? { warnings: false, errors: true }
   : false,
  publicPath: config.dev.assetsPublicPath,
  proxy: config.dev.proxyTable,
  quiet: true, // necessary for FriendlyErrorsPlugin
  watchOptions: {
   poll: config.dev.poll,
  },
  
//在这里添加,记得前面加上逗号不然会报错  	
before(app) {
 app.get('/api/news', (req, res) => {
  res.json({
   errno: 0,
   data: news
  })//接口返回json数据,上面配置的数据seller就赋值给data请求后调用
 }),
 app.get('/api/products', (req, res) => {
  res.json({
   errno: 0,
   data: products
  })
 }),
  app.get('/api/boards', (req, res) => {
  res.json({
   errno: 0,
   data: boards
  })
 })
  
  
  }
  
  
  
  
 },

4.到这里之后记得所有的修改配置都需要重新启动运行命令的:npm run dev才能生效(很重要,否则无法请求到数据)

然后在浏览器就可以请求到我们模拟的数据:

详解vue2.0模拟后台json数据

5.在create()函数中通过get请求json数据后添加到页面中

export default {
		components:{
			slideShow
		},
 
    //请求模拟的json数据
		created: function(){
			this.$http.get('api/news')
			.then((data)=>{
				this.newsList = data.data.data;
        //newsList是先在页面上定义变量,用来装载请求到的数据
			},(err)=>{
				console.log(err)
			}),
			
			this.$http.get('api/products')
			.then((data)=>{
				this.productList = data.data.data;
			},(err)=>{
				console.log(err)
			}),
			
			this.$http.get('api/boards')
			.then((data)=>{
				
				this.boardList = data.data.data;
			},(err)=>{
				console.log(err)
			})
		},

在页面上定义的变量,用来装载请求到的数据

data(){
			return {
			
				
				boardList:[
					
				],
	
				newsList:[
					
				],
				productList:{
					
				}
			}
		},

6.在页面上调用

详解vue2.0模拟后台json数据

页面效果如下:

详解vue2.0模拟后台json数据

以上所述是小编给大家介绍的vue2.0模拟后台json数据详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery 入门级学习笔记及源码
Jan 22 Javascript
JQuery+DIV自定义滚动条样式的具体实现
Jun 25 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
Nov 30 Javascript
读Javascript高性能编程重点笔记
Dec 21 Javascript
jQuery实现的浮动层div浏览器居中显示效果
Feb 03 Javascript
ES6数组的扩展详解
Apr 25 Javascript
JavaScript实现一个简易的计算器实例代码
May 10 Javascript
jQuery实现常见的隐藏与展示列表效果示例
Jun 04 jQuery
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
May 10 Javascript
javascript History对象原理解析
Feb 17 Javascript
JS如何生成随机验证码
Mar 02 Javascript
一篇文章学会Vue中间件管道
Jun 20 Vue.js
详解Vue-Router源码分析路由实现原理
May 15 #Javascript
微信小程序select下拉框实现效果
May 15 #Javascript
详解js常用分割取字符串的方法
May 15 #Javascript
elementUI table表格动态合并的示例代码
May 15 #Javascript
详解VUE调用本地json的使用方法
May 15 #Javascript
微信小程序的mpvue框架快速上手指南
May 15 #Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
May 15 #Javascript
You might like
php基础知识:类与对象(4) 范围解析操作符(::)
2006/12/13 PHP
解析php如何将日志写进syslog
2013/06/28 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
PHP网站开发中常用的8个小技巧
2015/02/13 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
2015/04/20 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
jquery 图片轮换效果
2010/07/29 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
jQuery实现跨域
2015/02/03 Javascript
jquery实现通用的内容渐显Tab选项卡效果
2015/09/07 Javascript
使用vue.js开发时一些注意事项
2016/04/27 Javascript
vuejs2.0子组件改变父组件的数据实例
2017/05/10 Javascript
Vue 实时监听窗口变化 windowresize的两种方法
2018/11/06 Javascript
[02:05]2014DOTA2西雅图邀请赛 老队长全明星大猜想谁不服就按进显示器
2014/07/08 DOTA
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
浅谈Python中用datetime包进行对时间的一些操作
2016/06/23 Python
Python实现对象转换为xml的方法示例
2017/06/08 Python
Python之自动获取公网IP的实例讲解
2017/10/01 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
如何更优雅地写python代码
2019/07/02 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
python 获取字典特定值对应的键的实现
2020/09/29 Python
python爬虫智能翻页批量下载文件的实例详解
2021/02/02 Python
HTML5实现可缩放时钟代码
2017/08/28 HTML / CSS
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
商务日语专业毕业生自荐信
2014/03/27 职场文书
产品发布会策划方案
2014/05/12 职场文书
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
2014公司年终工作总结
2014/12/19 职场文书
总经理年会致辞
2015/07/29 职场文书
CSS中Single Div 绘图技巧的实现
2021/06/18 HTML / CSS