如何在视图中创buildhref链接,指向Express路由?

我想在我的视图中创buildhref链接,但我不想指向一个静态地址。 我想dynamic创build基于路线的hrefurl。

例:

// 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! 

我错过了什么,或者没有办法轻易做到这一点?

我search了,我发现app._router.stack有所有路线。 但他们只是一个普通的arrays,所以他们没有任何forms的身份证或平等! 我想到的是一个函数,它parsing所有的路由(从堆栈),得到他们的名字只有当函数有一个名字 ( http://expressjs.com/4x/api.html#req.route ),然后用键(路由名) – >path创build一个对象。 然后我可以使用这个函数(不知何故)在视图内创buildpath,对不对?

任何更好的想法?

来自PHP框架的背景,我习惯于双向路线。 但是,从我在教程中看到的,人们只是使用静态链接。 我认为这与Node.js Web应用程序的性质有关。 其中很多是SPA ,所以你只要build立一个API,然后从前端应用程序静态引用它。

在研究这个主题的时候,我已经把这个叫做2-way路由器的小库叫做Express了。 我还没有尝试过,但它可能对你有用。

编辑:试图重新词我的search,我已经find类似的线程有关的url生成和快速路由命名 。

编辑:你也可以实现类似Django的路由 。