用Node.js做一个放假数据的MockServer

一、简单介绍nodejs

初学nodejs ,直接上简单实例。先简单说明一下:nodejs ,nodejs相当于服务器端的 可以轻易搭建一个服务器端。 nodejs是用C++开发的一种运行于服务器端的语言,可以写网站后台程序,可以做服务端应用开发,语法和JAVASCRIPT一样,会JS,就是会NodeJS,区别于,普通JS是脚本运行客户端,而NODEJS中的JS是运行于服务器端,NODEJS的作用相当PHP,ASP等语言。

Nodejs性能有多强? 做一个MockServer我并不关心, 我只知道用这种方式来做很简单。

开始

1、新建一个目录, 进入此目录输入命令 npm init

这个过程有一系列的输入,弄完之后目录下会出现一个 package.json

2、安装必要的 Grunt 工具和部件

全局安装 Grunt 客户端

在mac下使用要在前面加上 sudo

npm install -g grunt-cli

NPM 工程安装 Grunt 以及 Grunt 插件

npm install grunt --save-dev npm install mockserver-grunt --save-dev

创建 Gruntfile.js 参考官方文档进行配置

创建一个文件 Gruntfile.js 用来调度本地的 MockServer 服务

/*File: Gruntfile.js*/
module.exports = function(grunt) {

grunt.initConfig({
    start_mockserver: {
        start: {
            options: {
                serverPort: 1080,
                proxyPort: 1090
            }
        }
    },
    stop_mockserver: {
        stop: {
        }
    }
});

grunt.loadNpmTasks('mockserver-grunt');

  // 默认被执行的任务列表。
  grunt.registerTask('default', ['start_mockserver']);
  grunt.registerTask('stop', ['stop_mockserver']);
  grunt.registerTask('start', ['start_mockserver']);

};

现在,通过执行下边命令即可启动一个 Mock Server 了

grunt start

3、创建 MockServer Client

接下来创建一个客户端文件 client1.js 用来注册自己需要如何 MockUp 一个 API 接口。

首先安装依赖:

npm install mockserver-client

然后创建文件 app.js:

/*File: app.js*/
var mockServer = require('mockserver-client'),
    mockServerClient = mockServer.mockServerClient, // MockServer client
    proxyClient = mockServer.proxyClient; // proxy client

var remote = mockServerClient('localhost', 1080),
    remoteProxy = proxyClient('localhost', 1090);

// 使用之前清除服务器里边已经注册的 mockup 信息,因为可能会影响当前测试结果或者开发结果呢。
remote.reset();

// 简单的设置想要的response信息
// curl -X POST http://localhost:1080/api/demo
remote.mockSimpleResponse('/api/demo', { name: 'value'}, 203);

// 精确的设置想要的response消息,会参考输入的情况来判断怎么跑
// curl -X POST 'http://localhost:1080/api/demo2?test=true' -d someBody
remote.mockAnyResponse({
  'httpRequest': {
    'method': 'POST',
    'path': '/api/demo2',
    'queryStringParameters': [
      {
        'name': 'test',
        'values': [ 'true' ]
      }
    ],
    'body': {
      'type': "STRING",
      'value': 'someBody'
    }
  }, /*httpRequest*/
  'httpResponse': {
    'statusCode': 200,
    'body': JSON.stringify({name: 'value'}),
    'delay': {
      'timeUnit': 'MILLISECONDS',
      'value': 250
    }
  }, /*httpResponse*/
  'times': {
    'remainingTimes': 1,
    'unlimited': false
  }
});

使用 命令

npm install

node app.js

js

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

赞赏支持
X
支付宝
9.99
请使用支付宝扫码支付, 有效时间 5分0秒
超过有效时间后请立即停止支付。
支付故障请联系QQ:565830900
因10.00元通道已占用,系统建议您支付9.99元
正在生成二维码, 此过程可能需要15秒钟
谢谢支持,我一定会更加努力的
JSRUN前端笔记, 是针对前端工程师开放的一个笔记分享平台,是前端工程师记录重点、分享经验的一个笔记本。JSRUN前端采用的 MarkDown 语法 (极客专用语法), 这里只属于前端工程师。