我正在尝试设置一个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。在index.jsx文件中调用makeServer函数的方式如下所示:
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'),
);发布于 2020-07-04 02:39:38
将makeServer函数的environment参数更改为development或将其完全删除(默认为development)可以解决此问题。在使用test环境时,似乎忽略了seeds方法(source)。
https://stackoverflow.com/questions/62720508
复制相似问题