我目前正在编写一个很大的Ember.js应用程序。我知道Ember.js非常单一,但我想从中略微偏离并创建我将插入应用程序的模块。
我对组件模块或那些东西没有问题。我的大问题是在我的Ember-cli应用程序中导入新路由。
通常我会拥有App.Router
而我可以创建App.xxxRoute
我是否在app/routes/my-route.js
或lib/myModule/routes/my-route.js
中定义路线。
使用Ember-cli ES6模块语法时,考虑的路由只是来自app/routes
文件夹的路由,因为没有全局范围,我无法附加来自我的路由模块到我的主要应用程序。
这有点痛苦。
我尝试了很多方面,包括尝试将我的路线手动添加到Ember.Router.router.recognizer
(不起作用),以及在app/routes
和export
中创建路线文件我的模块中的每一个(但它创建了许多无用的文件)。
最简单的解决方案是能够将目录添加到ember-cli路径加载器或其他任何名称,但我可以接受任何建议。
非常感谢。
答案 0 :(得分:1)
我将采用的方法是构建一个附加组件,如评论中所述。
也许,根据您的需要,添加一些初始化程序,将对象和任何您喜欢的东西注入应用程序中的所有路径或控制器。
请参阅:Dependency Injection & Service Lookup
有关使用初始化程序的加载项示例,您可以检查Ember Simple Auth