2014-02-21 3 views
6

Как бы я мог использовать .html расширения в своих файлах просмотра вместо .ejs при использовании Express.js Parse.com?Измените расширение .ejs на .html, используя Parse.com Express.js

Я изменил разделители EJS на <? и ?>, потому что я привык к ним с PHP. Это работало хорошо, но я не могу изменить расширение файла на мой взгляд файлов:

Я попробовал следующее:

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

ejs.open = '<?'; 
ejs.close = '?>'; 

app.set('view engine', 'ejs'); 
app.engine('.html', ejs.renderFile); 
app.set('views', 'cloud/views'); app.use(express.bodyParser()); 

app.get('/', function(req, res) { 
    res.render('Test', { message: 'Hello Express!' }); 
}); 

app.listen(); 

И я получаю внутреннюю ошибку сервера.

Я также попытался устранения этой линии с тем же результатом:

app.set('view engine', 'ejs');

+1

Я не уверен, кто проголосовал за этот вопрос, но это хороший вопрос. Я просто ничего не делал с рулями и менял все файлы .handlebars/.hbs на .html lemme, вижу, могу ли я что-то сделать для вас. – jemiloii

+0

Я отправил вам ответ, если он работает, сделайте его правильным, если не скажите мне, чтобы я мог помочь! – jemiloii

+0

Привет, Джемилол, я уже пробовал это, и это не сработало. Я отказался от идеи использования Parse.com для размещения моего проекта Express. Это очень странная, ограниченная среда. И они неясны относительно того, что вы можете и не можете сделать с вашим «сервером». Я решил развернуть свой собственный сервер Node/Express в Digital Ocean, что потрясающе. – AJB

ответ

20
app.set('view engine', 'html'); 
app.engine('html', ejs.renderFile); 

Так что я app.set в HTML и app.engine в HTML и это работает для меня.

+0

Изменил мой разум, чтобы сделать правильный ответ. Тем не менее, я никогда не получал эту работу с Parse.com, хотя это правильный синтаксис для этого, используя Express.js. – AJB

1

этот способ тоже работает:

app.set('view engine', 'html'); 
app.engine('html',require('ejs').renderFile); 

кто-то знает какие-либо проблемы, используя этот путь?

+3

Это то же самое. В принятом ответе предполагается, что 'var ejs = require ('ejs')' был указан ранее. –

Смежные вопросы