这似乎是一件荒谬的事情,但我想在 app.get()
方法中显示 html 文件。似乎我遇到的每个答案都使用解决方案 app.use(express.static(__dirname + '/public'));
,但这不允许来自服务器的逻辑。
我想做的是让我的 .html 文件通过 Express 呈现,这样我就可以保留一些基本逻辑:
app.get('/', function(res, req) {
if (condition) {
res.render('this.html');
}
else {
res.render('that.html');
}
}
对我来说,这似乎很愚蠢,这仅适用于模板文件,而且我一定不会看到一些简单的东西来完成这项工作。
编辑:使用 sendFile 似乎不允许 HTML 包含外部文件、javascript/css。
最佳答案
您可以使用res.sendfile()(新版本为res.sendFile())来渲染html文件。
评论中问题的更新:
您可以在 html 文件中包含 css 和 javascript 文件(您可能需要正确指定资源的路径才能加载它们):
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
<script src="myscripts.js"></script>
</head>
关于html - 我想在 Express.js 中渲染静态 html,但仍然有 app.get() 逻辑方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29267254/