쉽게 만들 수있는 많은 개별 기능이 있지만 특정 기능을 요구하는 대신 실제 목표부터 시작하겠습니다.어떻게 기본 액세스 부분을 설정합니까?
nodejs에서 consolidate를 사용하여 dust.js를 시작합니다 ... 링크를 사용하여 링크를 만듭니다. 부분 렌더링 및 클라이언트 측 렌더링을 지원하기 위해 템플릿을 위로부터 설정할 계획입니다. 똑똑해 보입니다!
그러나 나는 이것이 나의 index.tt의 상단에-부분 렌더링이 :
{>layout layout/}
그것은 나에게 HTML 래퍼를 제공, 좋은 작품 ...하지만 나에게 사소한해야 보인다 그 부분을 렌더링하지 않거나, "no_layout"과 같이 렌더링하는 부분을 무시하는 변수를 설정할 수 있습니다.
대신 "{layout}"을 사용하면 모든 런 모드에서 명시 적으로 layout="layout"
을 설정하는 한 괜찮습니다.
dustjs가 value-defaults 개념을 가지고 있다면 괜찮을 것입니다.하지만 시도해 보았습니다. 노드가 그 부분을 처리해야하는 것처럼 보입니다 (if 문이 작동하지 않는 것처럼 보일 수도 있고, 않았다 인라인 ||
).
dustjs를 사용하면 조건부로 dustjs 코드를 실행할 수 있지만 괜찮을 것입니다. 그러나 모든 @if 문은 렌더링과 관련이 있습니다.
우리는 우려의 분리를 유지하기를 원합니다. 그래서 나는 처음부터 dustj를 사용할 것입니다 ... 이것은 내게 일어날 때보기 측면의 관심사처럼 보입니다. 기본 방법은 99 %입니다. 여기
내가 지금 가지고있는 코드입니다 (중요하지 않는, layout.dust 제외) :index.dust :
{>layout "{layout}"/}
{<main}
Welcome to {title}
{/main}
{/profile}
하는 index.js :
exports.index = function(req, res){
res.render('index', { title: 'Express',layout: "layout" });
};
내가 말했듯이, 그것은 작동하지만 ... 해키가 느껴지고 제어기가 명시 적으로 "정상적으로 렌더링"하도록 지시하게합니다.