44

是否可以在没有任何模板引擎的情况下使用 express ?

4

6 回答 6

30

是的,

app.get('/', function(req, res){
  res.render('index.html');
});

应该可以工作

于 2011-09-22T20:16:08.267 回答
15

更新

有些人可能担心sendFile只提供客户端缓存。有多种方法可以让服务器端缓存并与 OP 的问题保持一致,也可以使用 send 发送回文本

res.send(cache.get(key));

以下是3年前的原始答案:

对于任何寻找 PavingWays 替代答案的人,也可以这样做:

app.get('/', function(req, res) {
  res.sendFile('path/to/index.html');
});

无需写:

app.use(express['static'](__dirname + '/public'));
于 2013-01-02T17:41:00.813 回答
7

对于任何需要在新的 express 项目中立即使用常规 HTML 而不使用 Jade 的人,您都可以这样做。

将 a 添加index.html到视图文件夹。

app.js变化中

app.get('/', routes.index);

app.get('/', function(req, res) {
  res.sendfile("views/index.html");
});

更新

改用这个。有关说明,请参阅下面的评论部分。

app.get('/', function(req, res) {
  res.sendFile(__dirname + "/views/index.html"); 
});
于 2013-12-23T21:46:23.640 回答
3

您可以使用 Express 自动提供静态文件,如下所示:

// define static files somewhere on top
app.use(express['static'](__dirname + '/your_subdir_with_html_files'));

实际上这应该是 express.static(...) 但是通过以上版本的 JSLint 也可以;)

然后你启动服务器并监听例如端口 1337:

// app listens on this port
app.listen(1337);

Express 现在自动在 /your_subdir_with_html_files 中提供静态文件,如下所示:

http://localhost:1337/index.html

http://localhost:1337/otherpage.html

于 2011-09-23T15:27:01.393 回答
2

这一切都过时了 - 3x、4x 的正确答案是

这里的第二个答案: 渲染基本的 HTML 视图?

于 2014-12-08T00:52:43.180 回答
1

在您的主文件中:

app.get('/', function(req, res){
    res.render('index');
});

您的 index.jade 文件应该只包含:

include index.html

其中 index.html 是您制作的原始 HTML。

于 2014-03-27T15:14:23.957 回答