在vue-cli搭建的项目中增加后台mock接口的方法


Posted in Javascript onApril 26, 2018

用vue-cli搭建一个前端开发环境确实是极其方便,在写前端代码肯定也是少不了需要调用后台提供的业务接口进行前后端交互,特别在敏捷开发中,前后端都要提前确定业务接口并进行打桩,在开发过程中基本是没有现成的后台可以调用,基本上都是自己写mock进行模拟。

在vue-cli搭建的项目中,框架上用的是express的web框架,要做一个mock是很方便的。

假设前端页面上需要获取所有的新闻列表,那么就需要mock一个能够返回所有新闻列表数据的接口。

接下来就在项目中实现mock功能。

脚手架生成项目

执行命令用webpack模板生成一个名为vuestrap的项目(名字任意)

vue init webpack vue-mock-demo

在出现的各提示选项中,没什么要求,为了方便,把不用的ESLint,unit tests,e2e都关掉(这些选项都随意)。

? Project name vuestrap
? Project description A Vue.js project
? Author 省略
? Vue build standalone
? Install vue-router? Yes
? Use ESLint to lint your code? No
? Setup unit tests with Karma + Mocha? No
? Setup e2e tests with Nightwatch? No

选项选完,项目也就生成了。

执行命令,安装脚手架创建的组件

npm install

创建mock

和build、config等文件夹同级创建一个mock文件夹。

为了要mock一个获取新闻列表的数据接口,我们在mock文件夹下创建一个名为“router-news.js”的文件。

其中的内容为:

var express = require('express');
var router = express.Router();

//对所有新闻的get进行mock
router.get('/all', function(req, res, next) {
 //响应mock数据
 res.json([{
  title: 'news-title-1' ,
  content: 'news-content-1'
 },
 {
  title: 'news-title-2' ,
  content: 'news-content-2'
 }]);
});

module.exports = router;

这里的完整url应该是“/mock/news/all”,在这里只写了“/all”子路径。

在build/dev-server.js文件的头部require区域,require上面写的router。

var mockRouterNews = require('../mock/router-news')

最后,调用app.use将讲url和router关联。

app.use('/mock/news', mockRouterNews)

在这里,通过将url的拆分,可以明确的把url进行处理的模块化,一种业务可以交给对应的router进行响应处理,在使用app.use关联所有的router的地方也能看得很清楚。

注意:

使用app.use关联url和router的代码一定要放在对“connect-history-api-fallback”组件的app.use前,否则关联的url会被拦截掉,不会被mock的router正确响应。

在vue-cli搭建的项目中增加后台mock接口的方法

执行

在命令行中执行命令运行项目。

npm run dev

运行后,在浏览器的地址栏中补上mock的url并访问,就能看到mock的数据了,很方便。

在vue-cli搭建的项目中增加后台mock接口的方法

代码 https://github.com/bobenut/demo-webfront/tree/master/d0007/vue-mock-demo

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一个刚完成的layout(拖动流畅,不受iframe影响)
Aug 17 Javascript
在JavaScript里嵌入大量字符串常量的实现方法
Jul 07 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
Nov 12 Javascript
JavaScript匿名函数用法分析
Feb 13 Javascript
详解JavaScript基于面向对象之继承实例
Dec 16 Javascript
微信小程序 canvas API详解及实例代码
Oct 08 Javascript
Bootstrap Table使用整理(三)
Jun 09 Javascript
详解Vue中一种简易路由传参办法
Sep 15 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
Aug 28 Javascript
webpack 如何解析代码模块路径的实现
Sep 04 Javascript
详解vue中v-model和v-bind绑定数据的异同
Aug 10 Javascript
详解TypeScript的基础类型
Feb 18 Javascript
vue 做移动端微信公众号采坑经验记录
Apr 26 #Javascript
jQuery length 和 size()区别总结
Apr 26 #jQuery
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
Apr 26 #Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
Apr 26 #Javascript
vue如何判断dom的class
Apr 26 #Javascript
vue 中filter的多种用法
Apr 26 #Javascript
vue自定义filters过滤器
Apr 26 #Javascript
You might like
php apache开启跨域模式过程详解
2019/07/08 PHP
jQuery 使用手册(五)
2009/09/23 Javascript
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
高效的表格行背景隔行变色及选定高亮的JS代码
2010/12/04 Javascript
原生js做的手风琴效果的导航菜单
2013/11/08 Javascript
当鼠标移动时出现特效的JQuery代码
2013/11/08 Javascript
js如何获取object类型里的键值
2014/02/18 Javascript
jQuery复制表单元素附源码分享效果演示
2015/09/30 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
详解Javascript中的原型OOP
2016/10/12 Javascript
ReactJs快速入门教程(精华版)
2016/11/28 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
[46:20]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第二场 1月22日
2021/03/11 DOTA
python实现同时给多个变量赋值的方法
2015/04/30 Python
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
python实现图片文件批量重命名
2020/03/23 Python
python正向最大匹配分词和逆向最大匹配分词的实例
2018/11/14 Python
使用python搭建服务器并实现Android端与之通信的方法
2019/06/28 Python
python实现代码统计器
2019/09/19 Python
基于Tensorflow:CPU性能分析
2020/02/10 Python
Python reduce函数作用及实例解析
2020/05/08 Python
python实现xml转json文件的示例代码
2020/12/30 Python
selenium携带cookies模拟登陆CSDN的实现
2021/01/19 Python
美国折扣宠物药房:Total Pet Supply
2018/05/27 全球购物
吉尔德利巧克力公司:Ghirardelli Chocolate Company
2019/03/27 全球购物
微软加拿大官方网站:Microsoft Canada
2019/04/28 全球购物
公司投资建议书
2014/05/16 职场文书
2014年会计工作总结
2014/11/27 职场文书
护士辞职信怎么写
2015/02/27 职场文书
奔腾年代观后感
2015/06/09 职场文书
2016年全国爱眼日宣传教育活动总结
2016/04/05 职场文书
python实现socket简单通信的示例代码
2021/04/13 Python