Node.js + Express不使用Jade

时间:2011-09-22 19:45:42

标签: node.js express pug

是否可以使用快速不带任何模板引擎?

6 个答案:

答案 0 :(得分:30)

是,

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

应该正常工作

答案 1 :(得分: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'));

答案 2 :(得分:7)

对于任何需要在新的快速项目中立即使用常规HTML而不使用jade的人,您可以执行此操作。

index.html添加到views文件夹。

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"); 
});

答案 3 :(得分: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

答案 4 :(得分:2)

在您的主文件中:

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

您的index.jade文件应仅包含:

include index.html

其中index.html是您创建的原始HTML。

答案 5 :(得分:2)

这已经过时了 - 3x的正确答案,4x是

第二个答案在这里: Render basic HTML view?