2014-01-16 3 views
3

평균 스택을 가진 애플리케이션을 개발 중이며 실제로 '비취'를 좋아하지 않습니다. 나는 제이드 번역기에 HTML을 많이 사용하고 HTML로만 작성하려고한다.평균 스택, 나는 비취를 사용하고 싶지 않아, 어떻게 HTML을 사용합니까?

어떻게 Express 프로젝트에서 Jade를 사용하지 않습니까?

또한 누군가가 템플릿 엔진이 무엇이며 왜 필요한지 설명 할 수 있습니까?

+0

여기에 너무 많은 질문을하고 있습니다. 더 구체적으로 작성하십시오. SO에 대한 질문을 그냥 뱉어내는 대신에 엔진을 직접 연구하십시오. – djechlin

+2

스펙트럼의 답변을 확인하십시오. http://stackoverflow.com/questions/4529586/render-basic-html-view-in-node-js-express#answer-6960021 – skeggse

답변

2

: 설정 파일에서

app.use(express.static(__dirname + '/public'));

가 대신 바닐라 HTML을 사용하는 이것은 좋은 연습 간주됩니다 Separation of Concerns 설계 원칙을 적용하는 예입니다.

이전 응답으로 템플릿 엔진을 사용하면 동적 콘텐츠를 더 많이 설정하고 코드를 적게 쓸 수 있습니다.

+0

내 'views'폴더에서 index.jade 대신 index.html을 사용할 수 있습니까? – Tim

+1

@Tim 질문에 대한 내 의견을 참조하십시오. 간단히 말해서, 이것은'public' 디렉토리의 정적 페이지만을 제공합니다. – skeggse

+0

@distilledchaos ok 고맙습니다. – Tim

1

시도해보십시오. EJS HTML처럼 보입니다.

http://embeddedjs.com/

<ul> 
<% for(var i=0; i<supplies.length; i++) {%> 
    <li><%= supplies[i] %></li> 
<% } %> 
</ul> 

당신은 응답 객체 res.send 통해 HTML 렌더링과 정적이 아니라 동적 데이터를 표시하는 경우

res.send('<html>...</html>'); 

일반적으로 서버 측 코드에있는 모든 HTML을 생성 할 수 있습니다 HTML 페이지에서 사람들은 EJS와 같은 뷰 엔진을 사용하고보기를 표시 할 모든 동적 데이터가 들어있는 객체에 바인딩하기 쉽고 캡슐화 된 것을 찾습니다. 당신은 설정할 수 있습니다 http://en.wikipedia.org/wiki/Separation_of_concerns

+0

'ejs'를 사용하는 동안, 궁극적으로 많은 기여를하지 않는 모듈 설치의 평가 및 파일 시스템 오버 헤드. – skeggse

관련 문제