我想在Express.js中呈现静态html,但仍然有app.get()方法的逻辑

这似乎是一个荒谬的事情被挂断,但我想显示从app.get()方法内的HTML文件。 看起来像我遇到的每个答案使用解决schemeapp.use(express.static(__dirname + '/public')); ,但是那样不允许来自服务器的逻辑。

我想要做的,是我的.html文件被expression,所以我可以保留一些基本的逻辑:

 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文件(你可能需要指定正确的资源path来加载它们):

 <head> <link rel="stylesheet" type="text/css" href="mystyle.css"> <script src="myscripts.js"></script> </head>