Ember.js:无法创建' router:main'

时间:2014-12-18 04:54:48

标签: ember.js ember-cli

更新#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');
});

怎么了?

1 个答案:

答案 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