将路由器配置放在Aurelia中的一个单独文件中
Put router configuration in a separate file in Aurelia
我正试图从app.js
文件中取出路由器配置,并将其放在一个单独的文件(app.router.js
)中。这可能是一件容易的事情,但我不知道怎么做。
当前app.js
文件如下所示:
import {Router} from 'aurelia-router';
export class App {
static inject() { return [Router]; };
constructor(router) {
this.router = router;
// router - put this part in a separate file
this.router.configure(config => {
config.title = 'demo';
config.options.pushState = true;
config.map([
// home routes
{ route: ['','home'], moduleId: './home/home', nav: true, title:'Home' },
// User routes
{ route: ['user/register'], moduleId: './user/register', nav: true, title:'User Registration'}
]);
});
}
}
一旦配置部分在一个单独的文件中,我相信我已经在app.js
:中这样称呼它了
this.router.configure(myRouterConfig);
请让我知道如何使用代码示例。
当您意识到传递给this.router.configure
的参数只是一个函数时,解决方案更容易理解。要将路由器配置放在一个单独的文件中,只需让该文件导出一个带有一个参数(config
)的函数。
// app.router.js
export default function (config) {
config.title = 'demo';
config.options.pushState = true;
config.map([
// home routes
{ route: ['','home'], moduleId: './home/home', nav: true, title:'Home' },
// User routes
{ route: ['user/register'], moduleId: './user/register', nav: true, title:'User Registration'}
]);
}
然后,在app.js
:中
import appRouter from 'app.router';
// ...then...
this.router.configure(appRouter);
当然,您可以随意命名appRouter
。
相关文章:
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- Sails.js:同时发布文本输入和一个文件
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 要求定义另一个文件中的对象
- 是否可以使用JavaScript/AAJAX在客户端创建一个文件
- 如何将所有JS文件连接到一个文件夹中
- 请求准备一个文件并返回路径,允许用户在准备好时下载
- 从AngularJS中的另一个文件中的控制器访问服务
- 将任何CDN配置为只传递一个文件,无论请求的url是什么
- 通过AngularJS promise下载一个文件
- Grunt-将多个文件最小化/处理为一个文件
- 文件的节点自动化移动到另一个文件夹中
- 用于文件移动到另一个文件夹的Javascript自动化
- 需要从一个文件中获取多个模块
- 仅首先需要使用jasmine从节点添加一个文件
- jQuery Mobile样式从另一个文件加载内容
- 最小化CSS/JS文件,并使用命令行创建一个文件
- 我如何制作一个文件的副本并用gump将其移动到父文件夹
- 为什么当我上传文件并点击更多上传另一个文件的第一个删除