我正在将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结合使用时才会出现错误。如果我包含额外的余烬状态lib,那么一切正常。
这种变化的原因是什么?为什么我需要额外的lib?
如果我将Ember.js 1.0.0与Ember data 1.0.0 beta.1结合使用,则不会发生此错误。
我希望有人可以解释为什么在某些情况下似乎需要这个额外的lib?
马克
答案 0 :(得分:15)
根据this pull request Ember本身不再在内部使用Ember.State
,而且此Ember Data commit Ember数据不依赖于Ember.State
实施(新的/更好的)改为使用Ember Data处理内部状态的方法。
由于两个库都没有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 |
+-------------------------+------------------+----------------------+