0

我正在做一个StencilJS项目,我必须用它MirageJS来制作虚假的 API 数据。

如何在 StencilJS 应用程序加载之前调用服务器。在 react 中,我们可以在 index.ts 文件中调用makeServer(),但是在模板中,我们没有这样的文件。

我们如何调用它来启动海市蜃楼服务器,请有人建议正确的方法。

下面是我的 server.ts 文件 mirage/server.ts

import { createServer, Model } from 'miragejs';
import { auditFactory } from './factories';
import { processCollectionRequest } from './utils';
export const makeServer = async ({ environment = 'development' } = {}) => {
  console.log('started server');
  return createServer({
    environment,

    factories: {
      people: auditFactory,
    },

    models: {
      people: Model,
    },

    routes() {
      this.namespace = '/api/v1';

      this.get('/peoples', function (schema, request) {
        let res = processCollectionRequest(schema, request, 'peoples', this);
        // remove factory properties not in spec
        res.items.forEach(e => ['associatedResourceId', 'associatedResourceName', 'associatedResourceType'].forEach(p => delete e[p]));
        return res;
      });
    },

    seeds(server) {
      server.createList('audit', 20);
    },
  });
};

4

1 回答 1

1

我不熟悉 MirageJS,所以我可能会离开,但你可以使用 globalScript ( https://stenciljs.com/docs/config ) 然后在那里运行你的 Mirage 服务器吗?

于 2021-06-15T14:02:15.507 回答