如何在点击特定路线后发送主页[Express / Nodejs]

时间:2017-10-03 14:36:58

标签: javascript node.js express

我尝试在用户点击此路线后重定向到主页:/ref=123但我想保留baseUrl,这是我到目前为止所做的:

我在server.js文件中要求:const referred = require('./routes/referred')

app.use('/ref=:id', (req, res, next) => {
    res.locals = req.params.id
}, referred)

因此,当用户点击上述路线时,我正在referred.js文件中进行一些验证。实际上我需要发送一些回复来说明提供的id是否存在,但无论如何都显示主页是一个简单的登录/注册表单。

referred.get('/', (req, res, next) => {
    //doing validations with res.locals
    next() //<- calling the next middleware
})

在调用next()后,我将下面的中间件重定向到主页。

不确定这是否可行:app.use(express.static(_dirname + '/dist'))似乎不是因为我得到404

我知道我可以使用req.redirect()函数但实际上会向服务器发出新请求并刷新页面,删除我想要保留的baseUrl

1 个答案:

答案 0 :(得分:0)

如何呈现/发送您的网页?

您可以使用res.sendFile('path/to/page.html')发送回任何html文件,同时保留请求网址。

如果要在主页上显示动态消息,则应使用ejs之类的查看引擎。如果您已经在使用引擎,则可以执行类似

的操作

res.render('path/to/page', { status: 'This id does not exist!'})