2016-12-27 11 views
0

NodeJS를 엔진 엔진으로 사용하여 먼지를 제거합니다. 부분적인 문제가 있습니다. 나는 그것이 가능하다라고 생각한다, 내가 원하는 것. I가 "수입"일반/네비게이션 바-로그 아웃 파일을 원하는Dust.js - 부분 확장베이스

<!DOCTYPE html> 
<html lang="pl"> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="description" content=""> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <title>Project - {title}</title> 
</head> 

<body> 
<div id="content"> 
    {>"common/navbar-logout"/} 
    {+content /} 
</div> 
    {+scripts /} 
</body> 
</html> 

: 여기 내 index.dust입니다. "일반/네비게이션 바 - 로그 아웃"파일에서 , 내가 가진 :이 스크립트를 실행하면

{>"index" /} 
{! some HTML!} 
{<scripts} 
<script> 
    console.log("yyyy"); 
</script> 
{/scripts} 

, 내가있어 :

RangeError: Maximum call stack size exceeded at Object.dust.filters.h (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:296:16) at Object.dust.filter (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:290:34) at Chunk.reference (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:764:30) at body_0 (evalmachine.:1:371) at load (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:151:14) at Chunk.partial (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:911:14) at body_0 (evalmachine.:1:157) at load (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:151:14) at Chunk.partial (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:911:14) at body_0 (evalmachine.:1:661) at load (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:151:14) at Chunk.partial (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:911:14) at body_0 (evalmachine.:1:157) at load (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:151:14) at Chunk.partial (/APP_PATH/node_modules/dustjs-linkedin/lib/dust.js:911:14) at body_0 (evalmachine.:1:661)

내가 제거하면 {> "인덱스"/} 에서 "일반/네비게이션 바 - 로그 아웃", 응용 프로그램 실행,하지만 난 "일반/네비게이션 바 - 로그 아웃""인덱스"에서에서 스크립트 블록이 없습니다.

내 목표는 "인덱스"부분 사용 "{>"일반/네비게이션 바 - 로그 아웃 "/}"

답변

0

먼지 파셜는 블록을 제공 할 수 있습니다에 "일반/네비게이션 바 - 로그 아웃"에서 스크립트 블록을 주입하다 템플릿에 포함됩니다. index 대신 common/navbar-logout이 필요하며 common/navbar-logout에는 index이 부분적으로 포함되어야합니다. 그런 다음 index에있는 블록에 인라인 부분을 제공 할 수 있습니다. 이것은 유스 케이스에 잘 맞지 않는다.

실제로하고 싶은 것을 성취하기 위해 과거에 몇 가지 맞춤식 도우미를 사용했습니다. 이 같은 것 :

{! some HTML!} 
{@script} 
    console.log("yyyy"); 
{/script} 

dust.helpers.script = function(chunk, context, bodies, params) { 
    if (params.src) { 
    addScript(params.src); // adds to some global context var 
    } else { 
    chunk = chunk.write('<script>').render(bodies.block, context).write('</script>'); 
    } 
    return chunk; 
}; 
+0

불행히도, 그것은 내가 원하는대로 작동하지 않습니다. "common/navbar-logout"의 끝에 스크립트를 추가하지만 "script"의 끝에는 "index"의 끝에는 추가하지 않습니다. 나는 내가 원하는 것을 이루지 못한다고 생각한다. 나는 다른 방식으로해야만합니다. – IceManSpy