" ejs.render"正在呼叫下一条路线

时间:2017-08-24 15:44:49

标签: node.js express ejs

当我输入http://localhost/client时,显示404。

app.get('/client', function(req, res) {
        ...
        ejs.render('any template', {});
        ...
        res.end();
});

app.get('*', function(req, res) {
    console.log('404');
    ...
});

但如果我删除" ejs.render"并将res.end('任何html')工作。 我怎样才能使用" ejs.render"而不是拨打404?谢谢。这是一个错误。

1 个答案:

答案 0 :(得分:2)

您需要设置ejs以使用带快递的EJS。  Express应用程序生成器使用Jade作为其默认值,但它也支持其他几个(如ejspug等)。

例如:

var express = require('express');
var app = express();

// set the view engine to ejs
app.set('view engine', 'ejs');

// use res.render to load up an ejs view file

// index page 
app.get('/client', function(req, res) {
    res.render('pages/index'); //does not needs ejs extension
});

app.get('*', function(req, res){
 res.send('what???', 404);
});

app.listen(8080);
console.log('8080 is the magic port');

当您向主页发出请求时,index.ejs文件将呈现为HTML

请参阅官方文档here