'Ember generate resource' 命令最终将 this.route() 添加到 router.js

'Ember generate resource' command end up adding this.route() to router.js

我正在阅读有关 ember-cli 的教程并遇到了一些奇怪的行为:
要生成名为 'friends' 的新资源,我是 运行 一个 ember-cli 命令:

$ ember generate resource friends

生成器会创建所有必需的文件,并在 app/router.js 中添加以下内容:

...
Router.map(function() {
  this.route('friends');
});
...

我希望它能创建(教程中提到了这一点):

  this.resource('friends', function(){ });

而不是

  this.route('friends');

所以我不明白,我做错了什么?或者自本教程发布以来,ember-cli routes/resources 生成器可能发生了一些变化,现在这种行为是正常的?

提前致谢,
Gleb.

在 ember 之前使用 1.7 资源,因为它们能够重置命名空间和嵌套路由,当时无法嵌套路由。

因为 ember 1.7+ 路由可以嵌套,你可以通过设置 this.route('my-route', { path: '/mypath', resetNamespace: true } function() {});

来重置命名空间

您正在使用的 blueprint 最后一次修改是在 4 月 24 日,以反映弃用并使用路由而不是资源。

有关更多信息,请阅读以下内容article