我用NodeJS作为发动机。我对部分词有意见。我认为这是可能的,我想要的。这是我的index.dust:
<!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" /}
{! some HTML!}
{<scripts}
<script>
console.log("yyyy");
</script>
{/scripts}当我运行这个脚本时,我得到了:
在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上超过了调用堆栈的最大大小。在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 (评估机: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 (评估机: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 (评估机:1:157)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 (评价机:1:661)
当我在"common/navbar-logout",应用程序中删除{>"index“/}时,运行,但在"common/navbar-logout" in 中没有脚本块”index“。
我的目标是将脚本块从“公共/导航栏-注销”注入使用部分“{>”公共/导航栏-注销“/}”的“索引”。
发布于 2016-12-27 20:25:21
灰尘部分只能为它们自己包含的模板提供块。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;
};https://stackoverflow.com/questions/41345638
复制相似问题