如何在 Ember CLI 中使用 ES6 语法子 class 一个 Ember class

How to subclass an Ember class using ES6 syntax in Ember CLI

我想在 Ember CLI 中创建自定义路由 class。我有以下示例在使用全局变量编写的旧应用程序中工作:

App.AuthenticatedRoute = Ember.Route.Extend({ 
  beforeModel: function() { 
    //Do some things
  }
});

App.DashboardRoute = App.AuthenticatedRoute.Extend({});

我对 ES6 模块非常熟悉,知道这个例子看起来像这样...

var AuthenticatedRoute = Ember.Route.Extend({
  beforeModel: function() { 
    //
  }
});

export default AuthenticatedRoute;

...但我对以下内容感到好奇:

  1. 这将位于应用程序结构中的什么位置?
  2. 如何在其他模块中访问此子class?

更新:

为了澄清我的问题:我正在寻找关于像这样的自定义实现应该存在于何处的信息,而不是存在于 app/routes 目录中的常规子路由。 Ember CLI 文档调用以下内容:

To provide a custom implementation for generated routes (equivalent to App.Route when using globals), use app/routes/basic.js.

http://www.ember-cli.com/#module-directory-naming-structure

...但我在实践中找不到任何这样的例子,这似乎是一个不完整的约定。我最终将自定义实现视为标准路由 (app/routes/authenticated.js) 并根据需要导入。

如果您使用强烈推荐的 ember-cli,它会存在于 app/routes/authenticated.js 中,看起来像这样:

import Ember from 'ember';

export default Ember.Route.extend({
});

然后您可以将其作为

导入到其他模块中

import authRoute from 'app/routes/authenticated'