用express模拟接口数据

前端工程师写好页面后,经常需要等待后端工程师给接口,影响了开发进度,自给自足就很必要了。这里介绍使用express搭建一个后台服务,模拟接口数据。
第一步,安装express

npm install express

第二部,搭建服务

// server.js

var express = require('express');
var app = express();

app.get('/', function (req, res) {
  res.send('这里是首页')
})

var server = app.listen(8000, 'localhost', function () {
  console.log('服务器已经启动,地址是http://localhost:8000')
})

运行:node server.js
打开浏览器,进入localhost:8000,显示这里是首页服务就搭建好了。

第三步,模拟接口数据

app.get('/goods', function (req, res) {
  res.json(data)  //返回json数据
})
// 模拟的数据
var data = {
  code: 200,
  msg: 'ok',
  data: {
    a: aa,
    b: bb
  }
}

这里模拟了一个接口,访问http://localhost:8000/goods就会返回data
再前端代码中调用,就会拿到我们熟悉的json数据了

http.get('http://localhost:8000/goods').then(res => {
    …… // 
})

第四步,解决跨域问题
ajax调用会报错,显示

Failed to load http://localhost:8000/goods: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.

这是跨域请求问题,解决方法

app.all('*', function (req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "X-Requested-With");
  res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
  res.header("X-Powered-By", ' 3.2.1')
  res.header("Content-Type", "application/json;charset=utf-8");
  next();
});

第五步,热更新
每次修改server.js都需要重新运行才能够生效,很麻烦
安装nodemon

npm install nodemon -g 

总结:最终代码

var express = require('express');
var app = express();

//解决跨域  
app.all('*', function (req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "X-Requested-With");
  res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
  res.header("X-Powered-By", ' 3.2.1')
  res.header("Content-Type", "application/json;charset=utf-8");
  next();
});


var server = app.listen(8000, 'localhost', function () {
  console.log('服务器已经启动,地址是http://localhost:8000')
})

app.get('/', function (req, res) {
  res.send('这里是首页')
})
app.get('/goods', function (req, res) {
  res.json(data) // 返回json
})
var data = {
  code: 200,
  msg: 'ok',
  data: {
    a: aa,
    b: bb
  }
}

参考文档:Express
感谢浏览,欢迎评论指正,转载请标明出处。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 我们都知道在实际的开发阶段,后端接口开发是和前端开发同步进行,甚至迟于前端的进度,这就直就导致前端需要等待后...
    小猿_Luck_Boy阅读 13,565评论 5 16
  • 测试API的模拟主要分以下2块 1.模拟服务器 2.模拟测试数据 一、模拟服务器解决方案 1).使用Apache开...
    huluo666阅读 6,057评论 1 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,771评论 19 139
  • 河边住只小花猫,嬉戏春风岸边跑, 扒开茂密的水草,想把午餐鱼儿找, 看到水面影子摇,好像一只小花豹, 一不留神吓一...
    西蜀少年阅读 1,911评论 0 0
  • 西关康乐路西段有一美容店低价转让,室内装修配套齐全,无需装修,(五万含一年房租)地势优越,有固定客源,有意者请联系...
    陈颖文化传媒阅读 1,033评论 0 0