mock 模拟后端接口 koa 前后分离

安装

koa 来做后端接口的模拟。因此要先安装 koa 极其相关的插件。执行npm install koa koa-body koa-router --save-dev
,注意这里使用--save-dev
,意思是我们只在开发过程中使用 koa ,项目发布之后 koa 就没用了。因为发布之后的项目,使用的就是后端工程师开发的线上的接口,而不是我们基于 koa 写的接口。

server.js示例
var app = require('koa')();
var router = require('koa-router')();
var koaBody = require('koa-body')();

router.get('/', function *(next) {
    this.body = 'hello koa';
})

router.get('/api', function *(next) {
    this.body = 'test data'
})


router.get('/api/1', function *(next) {
    this.body = 'test data 1'
})

router.get('/api/2', function *(next) {
    this.body = {
        a: 1,
        b: '123'
    }
})

router.post('/api/post', koaBody, function *(next) {
    console.log(this.request.body);
    this.body = JSON.stringify(this.request.body);
})

app.use(router.routes())
   .use(router.allowedMethods());

app.listen(3000,function() {
    console.log('start...')
})

server.js启动的接口是3000,当在请求是输入 8080端口的接口也能请求到,因为:webpack-dev-server 中 devServer 中的proxy

webpack.config.js
devServer: {
        //代理转发 '',http:localhost:8080端口中同样能请求到数据
        proxy: {
            '/api': {
                target: 'http://localhost:3000',
                secure: false
            }
        },
        colors: true,//终端中输出结果为彩色
        historyApiFallback: true,//不跳转,在开发单页面应用时非常有用,它依赖于html5 history api,如果设置为true,所有跳转将指向index.html
        inline: true,//实时刷新
        hot: true //使用热加载插件 HotModuleReplacementPlugin
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 webpack介绍和使用 一、webpack介绍 1、由来 ...
    it筱竹阅读 11,233评论 0 21
  • 在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始...
    Charlot阅读 5,489评论 1 32
  • 写在开头 先说说为什么要写这篇文章, 最初的原因是组里的小朋友们看了webpack文档后, 表情都是这样的: (摘...
    Lefter阅读 5,324评论 4 31
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,933评论 18 139