如何使用Express.js渲染html文件?

3

我是一个新手在Node.js开发方面。 我正在使用bycript和验证邮件开发登录/注册流程。 我已经使用以下代码实现了通过邮件发送的验证令牌:

router.get('/verification/:token', function(req, res) {

// Check for validation errors
var errors = req.validationErrors();
if (errors) return res.status(400).send(errors);

// Find a matching token
Token.findOne({ token: req.params.token }, function (err, token) {
if (!token) return res.status(400).send({status: 'ko',error: {type: 'not-verified', msg: 'We were unable to find a valid token. Your token my have expired.'}} );

// If we found a token, find a matching user
User.findOne({ _id: token._userId }, function (err, user) {
  if (!user) return res.status(400).send({ msg: 'We were unable to find a user for this token.' });
  if (user.isVerified) return res.status(400).send({status: 'ko',error:{type: 'already-verified', msg: 'This user has already been verified.'}});

  // Verify and save the user
  user.isVerified = true;
  user.save(function (err) {
    if (err) { return res.status(500).send({ msg: err.message }); }
    res.status(200).send({status: 'ok', data: { msg: 'The account has been verified. Please log in.'}});
        });
    });
});

});

这段代码可以正常工作,但需要在浏览器中显示一条消息。 当点击验证URL时,我想呈现一个特定的HTML页面,显示消息“OK”。 我该如何做? 我已经创建了一个名为html/welcome.html的文件夹。

Translated:
这段代码可以正常工作,但需要在浏览器中显示一条消息。当点击验证URL时,我想呈现一个特定的HTML页面,显示消息“OK”。我该如何做?我已经创建了一个名为html/welcome.html的文件夹。

你是否使用Express.js作为框架? - mehta-rohan
是的,我正在使用Express。 - gisman
你可以像SanSolo告诉你的那样做,但这并不是结束。你需要一些视图引擎来在HTML中呈现你的数据。 - mehta-rohan
@mehta-rohan,你不需要视图引擎来提供静态数据。 - SanSolo
@SanSolo 谢谢,伙计。很快他也必须呈现动态数据。这是下一步。 - mehta-rohan
1个回答

2

HTML文件属于静态文件,需要设置Express来使用静态文件。

对于您的情况,可以使用以下代码:app.use(express.static(__dirname+'/html')) 这里是关于在Express中服务静态文件的文档。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接