Javascript 如何使用superagent mock作为临时后端

Javascript 如何使用superagent mock作为临时后端,javascript,superagent,Javascript,Superagent,因此取自superagent网站,它说“有了这个技巧,你可以开发前端,而无需访问任何API。它非常有用,可以在你的计算机上本地工作,无需互联网,或者使你的功能测试独立于任何第三方。” 我创建了一个配置文件: // ./config.js file module.exports = [ { pattern: 'http://tech.m6web.fr/api/authors', fixtures: './authors.js', callback: function (

因此取自superagent网站,它说“有了这个技巧,你可以开发前端,而无需访问任何API。它非常有用,可以在你的计算机上本地工作,无需互联网,或者使你的功能测试独立于任何第三方。”

我创建了一个配置文件:

// ./config.js file
module.exports = [
  {
    pattern: 'http://tech.m6web.fr/api/authors',
    fixtures: './authors.js',
    callback: function (match, data) {
      return { body : data };
    }
];
rest调用将返回的模拟数据:

// ./authors.js file
module.exports = function () {
  return [
    {
      id: 1,
      name: "John Doe",
      description: "unidentified person"
    },
    ...
  ];
};
下一步是什么?上面写着

// ./server.js file
var request = require('superagent');
var config = require('./config.js');
var mock = require('superagent-mock')(request, config);
在server.js文件中。这是我当前定义rest服务的文件吗?用创建的
mock
变量替换从superagent导入的
请求

而不是
请求.get(url).

return new Promise ((resolve,reject)=> {request.get(url).end((err,res)=> { err?reject(err):resolve(res) }); }).then(...)
使用创建的模拟变量<代码>模拟获取(url).

return new Promise ((resolve,reject)=> {mock.get(url).end((err,res)=> { err?reject(err):resolve(res) }); }).then(...)

但是
var mock
为空。。我做错了什么吗?

这是superagent模拟配置最简单的示例:

看起来api和这篇文章的时代不同。github上的官方api很好

var request = require('superagent');
var mock = require('superagent-mock');

var config = [
    {
        pattern: 'https://domain.example(.*)',
        fixtures: function (match, params, headers) {
            return 'foo'
        },
        get: function (match, data) {
            return data
        }
    }
];

mock(request, config);

request
    .get('https://domain.example')
    .end((err, res) => {
        console.log(res); // ===> foo
    });