【问题标题】:Location of Mirage files in ember addonMirage 文件在 ember 插件中的位置
【发布时间】:2016-12-13 12:30:48
【问题描述】:

我有一个 Ember 插件,它应该处理返回一些数据的请求。主应用程序需要使用此插件,以便从 mirage 中检索检索此数据的请求。在未来的某个时候,这需要在实时环境中禁用(但暂时不是)

我的问题是mirage 目录(及其子目录,例如factoriesfixturesmodelsroutes 等)应该位于插件中的哪个位置。它应该在项目根目录中还是其他位置,例如在appaddon 子目录中?

我已经跑了:

ember install ember-cli-mirage

\tests\dummy\mirage中创建一些文件

在此目录中创建文件似乎不起作用:

/tests/dummy/fixtures/mydata.js

export default [{
"title": "Some data here"
}]

/tests/dummy/routes/mydata.js

class MyDataRoutes {

constructor(routerFnc, route, db) {
    routerFnc(route + '/', ({db}) => {
        return db.mydata;
    });
}
}

导出默认 MyDataRoutes;

/tests/mirage/config.js:

export default function() {

// this.urlPrefix = '';    // make this `http://localhost:8080`, for example, if your API is on a different server
this.namespace = 'api';    // make this `api`, for example, if your API is namespaced
this.timing = 100;      // delay for each request, automatically set to 0 during testing

new MyDataRoutes(this.get, '/content/mydata', this.db);

}

【问题讨论】:

    标签: node.js ember.js npm ember-cli


    【解决方案1】:

    这是正确的地方。 然后,您将能够在测试中或直接在虚拟应用中使用 Mirage 端点。

    如果您想要一个如何协同工作的示例,您可以查看 ember-power-select https://github.com/cibernox/ember-power-select 的 repo。他们有海市蜃楼,也有很好的测试。

    【讨论】:

    • 不过,这并不是真正的测试——在真正的 API 上线之前,它是我们想要的一段“真实”代码。
    • 好的,我明白了,但是您需要将您的插件包含到 ember 应用程序中,以使 mirage 端点启动并运行。它可以是一个将您的插件作为依赖项的真实应用程序,也可以是插件附带的虚拟应用程序。您打算以哪种方式使用它?
    • 我打算让我的真实应用程序将此插件作为依赖项。
    • 好的,我明白了,那么 Mirage 文件应该在您的主应用程序树中,而不是在插件本身中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    相关资源
    最近更新 更多