Express 路由问题
Express 的路由支不支持别名啊, 只有重定向(官网我只发现重定向,没找到别名),很难受, Express还会不会更新??
6 回复
koa支持
@hpgt 哎~把Express项目换成koa岂不是很费劲?
@hpgt 可以app.use([’/’, ‘/home’], require(’./posts’))这样用么?不知道会不会是我想要的效果
使用 AOP 面向切面编程,复写它的 Router。
var router = express.Router([options]);
const old = router.get
const aliasmap = {get: {}} 维护这个 map
router.get = (name', ...args) => {
aliasmap.get[name] = args[0]
old(...args)
}
或者代理
var obj = new Proxy(router, {
get (target, key, receiver) {
aliasmap.get[name] = args[0]
// if is get put post ....
const old = Reflect.get(target, key, receiver);
return (alias, ...args) => {
// xxxxxx
old(...args)
}
},
});
假如还需要添加生成 urlPath helper 类似的可以参考这个
@hello-guoguo 这种应该是“/”,“/home”两个路由都能匹配到同一个业务,koa中的别名是浏览器显示的是“/”,实际访问的是“/home”
@MiYogurt 厉害!受教了