2015-06-05 7 views
0

Я пытаюсь использовать EJS, но всякий раз, когда вызывается res.render, он просто висит там без ответа.EJS render no output

Это мой app.js файл

var express = require('express'); 
var bodyParser = require('body-parser') 
var mongoose = require('mongoose'); 
var app = express(); 
var router = require('./router/index')(app); 
app.use(bodyParser.json()) 
app.set('view engine', 'ejs'); 
// Internal Server error 
app.use(function(err, req, res, next) { 
    res.status(err.status || 500); 
}); 

module.exports = app; 

app.listen(8888); 

И в моих маршрутах файл

module.exports = function (app) { 
    app.use('/', require('./routes/Website')); 
    app.use('/api/users', require('./routes/UsersRoute')); 
    app.use('/api/keys', require('./routes/KeysRoute')); 
}; 

И в файле сайта

var express = require('express'); 
var router = express.Router(); 

// Get all Users data 
router.get('/', function (req, res) { 
    res.render('index', { title: 'The index page!' }) 
}); 

У меня есть index.eps файл в папке views и layout.eps в папке макета. Что я делаю в этом неправильно?

+0

сделать его index.ejs .EJS использовать расширение .ejs для сохранения файла. – PPB

+0

Мои файлы сохраняются в .ejs, и я попытался использовать 'res.render ('index.ejs', {title: 'Индексная страница!'})' Однако проблема все еще сохраняется – Exceptions

ответ

0

Должно ли ваше промежуточное программное обеспечение для промежуточного сервера иметь условное значение? Мне кажется, что он попытается отправить ответ от вашего промежуточного программного обеспечения при каждом вызове маршрута.

Попробуйте закомментировать res в своем ПО промежуточного слоя и попробуйте позвонить next();

+0

Спасибо, что это разрешило проблему с зависанием, но Я получаю сообщение 'Can not GET /' сейчас. Мой файл els находится в папке представлений. – Exceptions

0

Решил проблему путем удаления

// Internal Server error 
app.use(function(err, req, res, next) { 
    res.status(err.status || 500); 
}); 

И похоже, EJS ищет папку просмотров в корневом каталоге вместо директории .js файл