0

使用 EAK 和ember-data-tastypie-adapter的最佳方法是什么?

我目前正在尝试以下操作:

  • 运行的 Djangolocalhost:7000
  • EAK 正在运行localhost:8000
  • 添加了 ember-data-tastypie-adapter 到bower.json
  • 将两个 JS 文件添加到index.html

    <script src="/vendor/ember-data-tastypie-adapter/packages/ember-data-tastypie-adapter/lib/tastypie_adapter.js"></script>
    <script src="/vendor/ember-data-tastypie-adapter/packages/ember-data-tastypie-adapter/lib/tastypie_serializer.js"></script>
    
  • 在 Django 端创建了所有需要的东西

我认为我必须创建serializers/application.js并放入它:

export default DS.DjangoTastypieSerializer.extend();

adapters/application.js需要调整:

export default DS.DjangoTastypieAdapter.extend({
    serverDomain: 'http://localhost:7000',
});

请求转到 Django 并发送响应。但是在 EAK 中,这会给出"Sorry, something went wrong"没有任何进一步信息的消息(空的错误消息框)。控制台也没有错误。

如果我删除serializers/application.js我会收到类似的消息,在这种情况下会包含有关错误的信息:

Assertion Failed: Nested controllers need be referenced as [/django/tastypie],
instead of [_djangoTastypie].
Refer documentation: http://iamstef.net/ember-app-kit/guides/naming-conventions.html

我必须在 中定义defaultSerializeradapters/application.js?如果是这样,它是什么,/django/tastypie还是别的什么?

在 EAK 中集成 ember-data-tastypie-adapter 缺少什么?麻烦的是,我还没有看到 EAK 和 sweetpie 可以一起工作的任何例子。

当然这两个本地服务器系统是开发环境。生产计划像这里一样,API 和 JS 都由一个 Django 实例提供服务。

更新:通过 Django 创建部署代码grunt dist并为其提供服务是可行的。

我怀疑问题在于不同的 JSON 来源。

4

1 回答 1

0

事实证明,EAK 有 API 代理选项。

更新package.json到我的 API 设置:

"proxyURL": "http://localhost:7000",
"proxyPath": "/api/v1",

从 中删除了自定义设置adapters/application.js

现在运行grunt server:proxy从 Django 获取数据。并且 ember.js 应用程序可以正常工作,不是同一来源很可能是问题所在。

于 2014-03-12T08:40:19.460 回答