Dev*_*ode 2 ember.js ember-cli
更新#2 - 这已经在最新的余烬中得到修复.
更新 - 这已得到修复,我很确定修复程序已进入Ember 1.11.0,所以你的export default Router.map( () -> ... )实际上是正确的,不会导致此错误.在那之前,你需要这样做:
Router.map(...)
export default Router
Run Code Online (Sandbox Code Playgroud)
这是因为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');
});
Run Code Online (Sandbox Code Playgroud)
怎么了?
经过大量的摆弄,我发现Ember.Router.map没有返回Ember Router的实例.这也是无效的:
Router = Router.map(function(){ this.route('a'); });
export default Router;
Run Code Online (Sandbox Code Playgroud)
解决方案是简单地避免使用返回值.map并导出适当的Ember路由器实例:
Router.map(function(){ this.route('a'); });
export default Router;
Run Code Online (Sandbox Code Playgroud)
希望这在2.0中得到修复:https://github.com/emberjs/ember.js/issues/9966