这似乎是一个荒谬的事情,但我希望在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。
答案 0 :(得分:1)
您可以使用res.sendfile()(res.sendFile()作为新版本)来呈现html文件。
评论中的问题更新:
您可以在html文件中包含您的css和javascript文件(您可能需要指定资源的路径才能正确加载它们):
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
<script src="myscripts.js"></script>
</head>