0

我正在尝试设置 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();
      });
    },
  });
}

我尝试复制粘贴提供的示例,但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'),
);

4

1 回答 1

0

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

于 2020-07-03T18:39:37.927 回答