我想在我的视图中创建href链接,但我不希望指向静态地址。我想根据路线动态创建href网址。
示例:
// app.js:
app.get('/test', function testPage(req, res, next) {
// do something here
});
// inside view.html:
<a href="path('testPage')" /> // something similar
<a href="/test" /> I do NOT want this!
我错过了什么,或者没有办法轻易做到这一点?
我搜索过,发现app._router.stack
有所有路线。但它们只是一个简单的 ARRAY ,所以它们没有任何形式的id或smth!我想出的是一个解析所有路径(来自堆栈)的函数,得到名称,只有当函数名称时才设置({{3然后用键(路由名称)创建一个对象 - &gt;路径。
然后我可以在视图中使用这个函数(不知何故)创建路径,对吗?
有更好的想法吗?
答案 0 :(得分:1)
来自PHP框架背景,我习惯了双向路由。但是,从我在教程中看到的,人们只是使用静态链接。我认为这与Node.js Web应用程序的本质有关。其中很多都是SPA,因此您只需构建一个API,然后从前端应用程序静态引用它。
在研究这个主题时,我来到了这个名为2-way router的小库,它可以与Express一起使用。我还没有尝试过它,但它可能对你有用。
编辑:尝试重新搜索我的搜索,我找到了similar thread about url generation和express route naming。
编辑:您还可以实施django-like routing。