1. 必须启动路由服务
注册完路径后,必须要启动路由服务,才能监听浏览器地址变化,如下:
page.base("/baseUrl/")
page("exit", function() {
alert('exit')
})
// 必须执行,才能监听浏览器地址的变化
page.start()
2. 动态注册路由地址
在page.js手动启动路由服务后,还支持继续注册动态路由,这在权限验证中作用非常突出,只有在用户通过验证后,才继续注册用户授权的资源,避免资源信息泄露(泄露给未授权用户),如下:
// 判断用户是否已经登录
if(logon) {
// 获取用户授权的资源,以增量的方式进行注册
resources.forEach(function(resource) {
// 动态注册资源
page(resource.url, function(context, next) {
……
})
})
}
需要注意的是,在划分资源进行批量加载时,请注意相关的顺序,务必要保证请求的资源已进行了注册。
3. 注重注册的顺序
注册时必须要按照从具体到宽泛的顺序,否则会出现具体的地址无法响应的情况,需要再次特别指出的是,已注册的路径是无法覆盖的。
4. 需要注意的地方
page.js没有办法取消已注册的路由,也没有提供路由的优先级选项,所有在执行404时等错误路由监控时,务必确认所有的路由都已注册完毕。
// 务必注册到最后,否则会覆盖之后的地址
page('*', notfound)