在magix项目中我们一直使用hash做为url的记录。
当然我们也支持history.pushState来改变url magix中的url解析与处理
最终我们的url处理成path与params 两部分,而在magix项目中,通常path与view一一对应。
比如我们做一个展示用户相册的功能,我们可能这样设计url
/photo?userId=xxx&page=1&page_size=20
因为我们的模块photo是固定的,变化的只是用户id,所以我们把模块photo设计在path中,变化的userId放在参数中。
看过别的前端或后端web框架的,通常它们都有url重写功能,比如我们把这个url重写成
/xxx/photo?page=1&page_size=20
把用户id放在path中,对于个人用户会更友好一些
在magix当中该如何做呢?
考虑到向前兼容,旧的url我们要仍然支持
参考 UrlRewrite的设计 http://blog.csdn.net/dyllove98/article/details/9281453
在magix的配置项中增加rewrites配置,示例如下
Magix.config({
rewrites:[{
from:/$\/(.*)/photo$/,
to:'photo?user=$1'
}],
routes:{
'/photo':'app/views/default'
}
});
这样后续即使项目升级,改变了一些url,只要把旧的url重写到新的url上即可。
计划在3.5.3版本中新增该功能,该功能默认不开启
在magix项目中我们一直使用hash做为url的记录。
当然我们也支持history.pushState来改变url magix中的url解析与处理
最终我们的url处理成path与params 两部分,而在magix项目中,通常path与view一一对应。
比如我们做一个展示用户相册的功能,我们可能这样设计url
因为我们的模块photo是固定的,变化的只是用户id,所以我们把模块photo设计在path中,变化的userId放在参数中。
看过别的前端或后端web框架的,通常它们都有url重写功能,比如我们把这个url重写成
把用户id放在path中,对于个人用户会更友好一些
在magix当中该如何做呢?
参考 UrlRewrite的设计 http://blog.csdn.net/dyllove98/article/details/9281453
在magix的配置项中增加rewrites配置,示例如下
这样后续即使项目升级,改变了一些url,只要把旧的url重写到新的url上即可。