2012-07-29 5 views
1

나는 (옥 내 기본보기 엔진으로 설정뿐만 아니라 내가 res.render('view')를 호출 할 때 그것은 모두 view.jade뿐만 아니라 view.ejs 추측하도록 만들 수있는 방법 EJS Nodejs 여러 확장

의 일부 페이지가 있고 용도를 ​​추측 뷰 적절한 엔진)? 내가보기가 시도됩니다 무엇 EJS 페이지

failed to located view "viewname", tried: 
/views/viewname.jade 
/views/viewname/index.jade 
/views/../viewname/index.jade 

노드의 어느 부분이 정의를 지정할 때

는 지금은 오류가 무엇입니까? Connect/Express? 보기 엔진 자체? app.register 또는 이와 비슷한 방법으로 할 수있는 것이 있습니까?

답변

0

내가보기에 대체 익스텐션을 사용해 볼 방법이 없다. 하지만 뭐라구? "보기"가 실제로 "view.ejs"를 의미하는 것을 알고 있다면 res.render('view.ejs')이라고 쓰고 표현은 당신의 바램을 따르는 것이 매우 행복 할 것입니다. 개발자는 뷰가 작성된 템플릿 엔진을 알고 있어야합니다. 프론트 엔드 개발자와 백엔드 개발자가 서로 대화를 나누지 않아서 다른 사람이 템플릿을 작성하는 데 사용하는 것을 알 수있을 정도로 분열되어있는 팀원이라면 조직적인 문제를 다루고 있습니다. 프로그래밍 문제가 아닙니다.

+1

예, 나는 그것이 내가 해왔 던 것을 그대로 'view.ejs'할 수 있다는 것을 충분히 알고있다. 나는 이것이 가능한지에 대해서 궁금하다. – arcyqwerty

+0

이 답변은 적절한 해결책이 아니며이 질문에 도움이되지 않습니다. 이것은 솔루션보다 의견이 많기 때문에 답변 대신 댓글로 제출해야합니다. – skplunkerin

0

사용할 엔진을 지정하는 방법을 잘 모르겠지만 노드 익스프레스 서버를 여러 확장 중에서 선택할 수 있습니다 (사용자가 말하는 것에 기반하여).

passing extensions and other options to express.static

간단한 익스프레스 서버 예

는 :

var express = require('express'), 
    port = 3000, 
    app = express() 
; 

app.use('/views/', express.static('views', {extensions: ['jade', 'ejs']})); 

app.listen(port, function(error) { 
    if (error) { 
     console.error(error); 
    } else { 
     console.info('==> Listening on port %s. Open up http://localhost:%s/ in your browser.', port, port); 
    }; 
});