我想在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>