vue.js中mock本地json数据

vue.js中mock本地json数据

  • 新版本的vue项目中已经将dev-server.js,dev-client.js两个js文件合并到了webpack.dev.conf.js文件中,以下分别是新旧版本的build目录结构:

  • 新版本:
    在这里插入图片描述

  • 旧版本:
    在这里插入图片描述

  • 本次验证mock:运用vue的脚手架进行了项目的搭建,想要通过json文件模拟后台传输数据,因为之前dev-server中包含 var app = express(),但是新版本的webpack.dev.conf.js 中并没有,我们需要express方法定义路由:我们需要添加代码如下;

//头部添加
const express = require('express')
const app = express()//读取本地json文件并且定义对应参数
var appData = require('../data');
var seller = appData.seller;
var goods = appData.goods;
var ratings = appData.ratings;//通过express定义路由对象
var apiRoutes = express.Router()//在devServer中添加具体路由规则以及返回
before(app) {apiRoutes.get('/seller', function (req, res) {res.json({errno: 0,data: seller});});apiRoutes.get('/goods', function (req, res) {res.json({errno: 0,data: goods});});apiRoutes.get('/ratings', function (req, res) {res.json({errno: 0,data: ratings});});app.use('/api', apiRoutes);}
  • 如上代码都需要添加到 webpack.dev.conf.js 文件中,注意路由规则需要添加到 devServer 中,如下图所有代码位置:
    在这里插入图片描述

  • 启动项目后,浏览器范问:http://localhost:8080/api/goods#/
    在这里插入图片描述

  • 补充:

    • 发现从老版本中拷贝过来这句代码是多余的:
const app = express()
- 将以上代码注释,并且修改before中的app为任意自定义名称都是可以通过编译并且正常运行,如下:
before(myRout) {apiRoutes.get('/seller', function (req, res) {res.json({errno: 0,data: seller});});
.....myRout.use('/api', apiRoutes);}
  • 具体原因正在探索,还有就是before的作用是什么??,一定要有这个,还在探索改语法规则

  • 补充二:

    • 将before,after修改成beforeEach和afterEach,运行出现如下错误:

Invalid configuration object. webpack-dev-server has been initialised using a configuration object that does not match the API schema.- configuration has an unknown property 'beforeEach'. These properties are valid:object { hot?, hotOnly?, lazy?, bonjour?, host?, allowedHosts?, filename?, publicPath?, port?, socket?, watchOptions?, headers?, clientLogLevel?, overlay?, progress?, key?, cert?, ca?, pfx?, pfxPassphrase?, requestCert?, inline?, disableHostCheck?, public?, https?, contentBase?, watchContentBase?, open?, useLocalIp?, openPage?, features?, compress?, proxy?, historyApiFallback?, staticOptions?, setup?, before?, after?, stats?, reporter?, reportTime?, noInfo?, quiet?, serverSideRender?, index?, log?, warn? }
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! sell@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the sell@1.0.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.npm ERR! A complete log of this run can be found in:
npm ERR!     D:\worksoft\nodejs\node_cache\_logs\2021-05-18T02_08_50_682Z-debug.log
  • 可以在以上错误中看到提示:非法的配置对象,webpack-dev-server 初始化的配置对象中没有匹配到这个规则beforeEach,这个配置是非法的。

  • 并且在一下他列举出了所有配置对象,我们可以看到其中就有before,after,接下来我需要做的就是搞清楚这些配置对象的意义:

  • 继续补充:查阅资料后在webpack-dev-server 官网中找到了他所有的操作符的说明,类似一个api文档,在文档说明如下:

    • devServer.before: 提供了在服务器内部执行自定义中间件的能力。这可用于定义自定义处理程序
    • devServer.after: 提供在服务器内部所有其他中间件之后执行自定义中间件的能力
  • 如上官网说明,改api是在服务器内部自定义一段我们的逻辑,after与before只是定义执行的先后顺序

  • 以上完成vue-cli利用本地json进行数据mock的整个流程

  • 初学vue,初涉前端相关知识,打算进阶全栈开发,求鼓励

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/310385.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

互联网40岁失业是一个无法打破的魔咒吗?

最近刚刚过完生日,又大了一岁,距离40岁又进了一步。年纪大了,就要多复盘。最近几天思考的比较多,因为身边失业的朋友开始多了起来。我又有点陷入担忧、焦虑的心态了。好在我一直是个有阿Q精神的中年油腻男,很快安抚好自…

数据结构与算法--复杂链表的复制

复杂链表的复制 题目:实现一个函数complexListNode 复制一个复杂链表。在链表中,每个节点除了有一个next指针指向下一个节点,还有另外一个before节点,before节点指向链表中任意一个节点,或者null节点。链表节点定义使…

如何实时主动监控你的网站接口是否挂掉并及时报警

“ 阅读本文大概需要 10 分钟。 ”最近我在公司负责的业务已经正式投入上线了,既然是线上环境,那么就需要保证其可用性。我负责的业务其中就包括一个 Web Service,我需要保证 Service 的每个接口都是可用的,如果某个时间流量大了或…

数据结构与算法--二叉查找树转顺序排列双向链表

二叉查找树转顺序排列双向链表 题目:输入一颗二叉查找树,将二叉查找树转成一个排序的双向链表,要求不能创建任何新节点,只调整树节点中指针的指向。例如下图所示: 本次二叉查找树节点定义使用之前文章 数据结构与算法…

5种避免C#.NET中因事件造成内存泄漏的技术

原文来自互联网,由长沙DotNET技术社区编译。 5种避免C#.NET中事件造成的内存泄漏的技术C#(通常是.NET)中的事件注册是内存泄漏的最常见原因。至少从我的经验来看。实际上,我从事件中看到了太多的内存泄漏&a…

数据结构与算法--字符串的排列组合问题

字符串的全排列 题目:输入一个字符串,打印出改字符串中所有字符的所有排列。例如输入字符串abc,那么打印出由a,b,c字符组成的所有字符串:abc,acb,bac,bca,cab…

[GitHub] 75+的 C# 数据结构和算法实现

C#中标准数据结构和算法的即插即用类库项目GitHub:https://github.com/aalhour/C-Sharp-AlgorithmsWatch: 307 Star: 3.4k Fork: 910o---o | |/ --O---O--O | |\ --O---O--o---o | |O o o--o o--o o---o o-O-o …

我是如何一步步的在并行编程中将lock锁次数降到最低实现无锁编程

在并行编程中,经常会遇到多线程间操作共享集合的问题,很多时候大家都很难逃避这个问题做到一种无锁编程状态,你也知道一旦给共享集合套上lock之后,并发和伸缩能力往往会造成很大影响,这篇就来谈谈如何尽可能的减少lock…

常用Arthas命令

jad反编译 检查线上代码是否修改成功,例如修改interface后看Jar包是否引入新的,或者代码是否最新的。 jad com.zhenai.counseling.business.provider.facade.supremecourse.RedeemRecordFacadeImpl //反编译只展示源码 jad --source-only com.zhenai.c…

关于分布式锁的面试题都在这里了

「我今天班儿都没上,就为了赶紧把这篇文章分布式锁早点写完。我真的不能再贴心了。」「边喝茶边构思,你们可不要白嫖了!三连来一遍?」引言为什么要学习分布式锁?最简单的理由就是作为一个社招程序员,面试的…

Git 15周年:当年的分道扬镳,成就了今天的开源传奇

4 月 7 日,全球最主流的版本控制系统 —— Git 迎来 15 周年纪念日,项目主要维护者 Junio C Hamano(滨野 纯) 先生发邮件庆祝了这一日子。我们知道,所有的软件项目在整个生命周期中都要经过不断迭代,在一个…

使用 docker 编译运行 abp 项目

在前面的两篇文章中,介绍了如何在华为鲲鹏架构及其Euler系统上运行dotnet core, 使用docker运行了默认的mvc模板项目,这篇文章继续介绍在docker中运行更复杂的dotnet core项目,这里以业内鼎鼎大名的abp vnext框架,版本 2.6 为例。…