7

我正在将 Ember rc7 项目迁移到 Ember 1.0.0。我有这个不寻常的错误:

Ember.State has been moved into a plugin: https://github.com/emberjs/ember-states

仅当我将 Ember.js 1.0.0 与 Ember 数据 0.13 结合使用时,才会出现错误。如果我包含额外的 ember-states 库,那么一切正常。

这种变化的原因是什么?为什么我需要一个额外的 lib ?

如果我将 Ember.js 1.0.0 与 Ember data 1.0.0 beta.1 结合使用,则不会出现此错误。

我希望有人能解释为什么在某些情况下似乎需要这个额外的库?

马克

4

1 回答 1

15

根据这个拉取请求, Ember 本身Ember.State不再在内部使用,并且从这个Ember Data 提交开始, Ember Data 不依赖于Ember.State实现(而是使用了一种新的/更好的方法来处理 Ember Data 中的内部状态)。

由于这两个库都没有依赖关系,Ember.State因此他们将其移动到了自己的包中,如果您仍然需要它,可以手动包含它。

可以在这里找到Github 存储库Ember.State

使用此表您可以看到,在使用 Ember Data 0.13 和 Ember 1.0.0 时,Ember Data 0.13 尝试使用Ember.State,但 Ember 1.0.0 不提供它并导致您的错误。

+-------------------------+------------------+----------------------+
|         Library         | Uses Ember.State | Provides Ember.State |
+-------------------------+------------------+----------------------+
| Ember rc7               | no               | yes                  |
| Ember 1.0.0             | no               | no                   |
| Ember Data 0.13         | yes              | no                   |
| Ember Data 1.0.0 beta 1 | no               | no                   |
+-------------------------+------------------+----------------------+
于 2013-09-01T16:04:14.590 回答