更新#2 - 这已经在最新的余烬中得到修复。
更新 - 这已修复,我很确定修复程序已进入Ember 1.11.0,因此您的export default Router.map( () -> ... )
实际上是正确的,不会导致此错误。在此之前,您需要这样做:
Router.map(...)
export default Router
这是因为Router.map
未返回Router
实例。
=====================
我在Ember-cli项目中收到此错误: 未捕获错误:无法创建'router:main'的实例。很可能是未正确定义的类或无效的模块导出
我的app / router.js文件是:
import Ember from 'ember';
import config from './config/environment';
export default Ember.Router.extend({
location: config.locationType
}).map(function() {
this.route('foo');
});
怎么了?
答案 0 :(得分:5)
经过大量的摆弄,我发现Ember.Router.map没有返回Ember Router的实例。这也是无效:
Router = Router.map(function(){ this.route('a'); });
export default Router;
解决方案是简单地避免使用.map
的返回值并导出正确的Ember路由器实例:
Router.map(function(){ this.route('a'); });
export default Router;
希望这在2.0中得到修复:https://github.com/emberjs/ember.js/issues/9966