未调用 Miragejs 种子函数

Miragejs seeds function not called

我正在尝试设置 miragejs 服务器,但由于某种原因,未调用 seeds 函数。另一个服务器函数 routes 被调用并且路由被正确映射。

export default function makeServer({ environment = 'test' } = {}) {
  return new Server({
    environment,

    models: {
      user: Model,
      diary: Model,
    },

    seeds(server) {
      debugger; // not hit
      seedUsers(server);
      seedDiaries(server);
    },

    routes() {
      debugger; // hit
      this.namespace = 'api';
      this.get('/users', (schema) => schema.users.all());
      this.get('/diaries', (schema) => {
        debugger; // hit
        schema.diaries.all();
      });
    },
  });
}

我试过复制粘贴提供的 example,但 seeds 方法仍然没有被调用。

miragejs包安装为dev包,使用的版本为0.1.40。 makeServer 函数在 index.jsx 文件中调用如下:

if (process.env.NODE_ENV === 'development') {
  makeServer();
}

ReactDOM.render(
  <Provider store={store}>
    <ConnectedRouter history={history}>
      <App />
    </ConnectedRouter>
  </Provider>,
  // eslint-disable-next-line no-undef
  document.getElementById('root'),
);

makeServer 函数的 environment 参数更改为 development 或完全删除它(默认为 development)可以解决问题。似乎在使用test环境时,忽略了seeds方法(source)。