在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 相关文章推荐
JavaScript中操作字符串小结
May 04 Javascript
jquery表单对象属性过滤选择器实例分析
May 18 Javascript
jquery实现超简洁的TAB选项卡效果代码
Aug 28 Javascript
javascript使用Promise对象实现异步编程
Mar 01 Javascript
JavaScript html5 canvas绘制时钟效果
Mar 01 Javascript
javascript模块化简单解析
Apr 07 Javascript
node.js路径处理方法以及绝对路径详解
Mar 04 Javascript
微信小程序中子页面向父页面传值实例详解
Mar 20 Javascript
vue3.0中的双向数据绑定方法及优缺点
Aug 01 Javascript
webpack 最佳配置指北(推荐)
Jan 07 Javascript
vue 授权获取微信openId操作
Nov 13 Javascript
在 HTML 页面中使用 React的场景分析
Jan 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
第七节 类的静态成员 [7]
2006/10/09 PHP
PHP缓存机制Output Control详解
2014/07/14 PHP
PHP模板解析类实例
2015/07/09 PHP
PHP实现电商订单自动确认收货redis队列
2017/05/17 PHP
PHP实现的日历功能示例
2018/09/01 PHP
javascript 伪数组实现方法
2010/10/11 Javascript
jquery下为Event handler传递动态参数的代码
2011/01/06 Javascript
仿微博字符限制效果实现代码
2012/04/20 Javascript
javascript 函数声明与函数表达式的区别介绍
2013/10/05 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
2013/11/14 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
JQuery调用绑定click事件的3种写法
2015/03/28 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
2017/02/27 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
2017/03/29 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
NodeJs安装npm包一直失败的解决方法
2017/04/28 NodeJs
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
js如何实现元素曝光上报
2019/08/07 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
JS运算符优先级与表达式示例详解
2020/09/04 Javascript
三剑客:offset、client和scroll还傻傻分不清?
2020/12/04 Javascript
python3.4用循环往mysql5.7中写数据并输出的实现方法
2017/06/20 Python
几款好用的python工具库(小结)
2020/10/20 Python
纯CSS3实现运行时钟的示例代码
2021/01/25 HTML / CSS
简述Html5 IphoneX 适配方法
2018/02/08 HTML / CSS
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
普天C++笔试题
2016/03/20 面试题
一些.net面试题
2014/10/06 面试题
急诊科护士自我鉴定
2013/10/14 职场文书
小车司机岗位职责
2013/11/25 职场文书
《小猪家的桃花树》教学反思
2014/04/11 职场文书
体育专业求职信
2014/07/16 职场文书
关于对大人不礼貌的检讨书
2014/09/29 职场文书
2015年校长新年寄语
2014/12/08 职场文书