我在尘埃测试页面http://linkedin.github.com/dustjs/test/test.html上玩尘埃示例,同时在node.js(0.8.15),express.js(3.0.4),巩固(0.0.5),防尘LinkedIn(1.1.1)。
如果我在灰尘测试页面上执行我的模板(参见顶部的链接),那么效果很好:
<a href="/en/subjects/subject-1-page-id">subject 1 title en</a>
它呈现主题1标题
如果我在node / express / consolidate / dust上执行我的templte显示:
<a href="/en/subjects/subject-2-page-id">{locale[lang].title}</a>
呈现 {locale [lang] .title}
这是我的模板:
{#subjects lang=language}
<div>
<img src="/files/subjects/{logo}" />
<div>
<a href="/{lang}/subjects/{pageId}">{locale[lang].title}</a>
</div>
</div>
{~n}
{/subjects}
这是我的JSON对象:
{
language: 'en',
subjects: [
{
logo: 'subject1.jpg',
pageId: 'subject-1-page-id',
locale: {
en: { title: 'subject 1 title en' },
fr: { title: 'subject 1 title fr' },
}
}
]
}
这里是灰尘测试网站的渲染模板:
<div>
<img src="/files/subjects/subject1.jpg" />
<div>
<a href="/en/subjects/subject-1-page-id">subject 1 title en</a>
</div>
</div>
这里是来自node / express / consolidate / dust-linkedin
的模板<div>
<img src="/files/subjects/subject1.jpg" />
<div >
<a href="/en/subjects/subject-1-page-id">{locale[lang].title}</a>
</div>
</div>
这是粉尘测试页面中编译模板的一部分(参见顶部的链接):
.write("\">").reference(ctx.getPath(false, ["locale", ctx.get("lang"), "title"]), ctx, "h").write("</a></div></div>\n");
以下是我在使用 {locale [lang] .title} 时在服务器上编译的部分。
.write("\">{locale[lang].title}</a></div></div>\n");
以下是我在使用 {locale.en.title}
时在服务器上编译的部分.write("\">").reference(ctx.getPath(false, ["locale", "en", "title"]), ctx, "h").write("</a></div></div>\n");
如果我尝试在节点上渲染 {locale.en.title} - 它可以正常工作。
请注意 lang 变量始终适用于&lt; a href ='/ en / ...&gt;链路
我的问题是:为什么在浏览器灰尘中解析我的路径,但在节点上不起作用? 或者,如何使用“类似数组”的密钥访问来呈现对象