javascript - Ember-cli : define routes outside of the app/routes/folder

标签 javascript ember.js ember-cli ecmascript-6

我目前正在编写一个大型 Ember.js 应用程序。我知道 Ember.js 相当单一,但我想稍微偏离这一点并创建我将插入到我的应用程序中的模块。

我对纯组件模块或类似的东西没有任何问题。我的大问题是在我的 Ember-cli 应用程序中导入新路线。

通常我会有我的 App.Router 并且无论我在 app/routes/my-route.js 中定义路由,我都可以创建 App.xxxRoute 或在 lib/myModule/routes/my-route.js 中。

使用 Ember-cli ES6 模块语法,考虑的路由仅是来自 app/routes 文件夹的路由,并且由于不再有全局范围,我无法附加路由从我的模块到我的主应用程序。 这有点痛苦。

我尝试了很多方法,从尝试手动将路由添加到 Ember.Router.router.recognizer(不起作用)到在 app 中创建路由文件/routes 并从我的模块中为每个模块导出(但它会创建很多无用的文件)。

最简单的解决方案是能够将目录添加到 ember-cli 路径加载器或任何名称,但我愿意接受任何建议。

非常感谢。

最佳答案

我采取的方法是构建一个附加组件,如评论中所述。

也许,根据您的需要,添加一些初始化程序,将对象和您喜欢的任何内容注入(inject)到应用程序中的所有路由或 Controller 中。

参见:Dependency Injection & Service Lookup

有关使用初始值设定项的附加组件示例,您可以查看 Ember Simple Auth

关于javascript - Ember-cli : define routes outside of the app/routes/folder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27138311/

相关文章:

javascript - ember.js 如何插入新记录?

Javascript 文件包含在 html 页面中——浏览器下面会发生什么?

html - 使用完全分离的前端和用户身份验证

javascript - Ember.js - 使用自己的 Controller 在单独的目录中渲染模板

javascript - 路由中的 Ember.js 数据未显示在模板中

ember.js - Ember 1.11.0-beta "A block may only be used inside an HTML element or another block"错误

javascript - 为什么 Ember.js 指南中的这个示例不起作用?

javascript - 如果在 jQuery 委托(delegate)事件处理程序中更改,AngularJS 模型不会立即更新

javascript - 使用 API 调用创建 yeoman 生成器

javascript - 将数据从 HTML5 存储存储到应用程序数据库面临困难