dust-linkedin browser vs node rendering:object [property]而不是object.property

时间:2012-12-12 13:35:55

标签: node.js express linkedin dust.js

我在尘埃测试页面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;链路

我的问题是:为什么在浏览器灰尘中解析我的路径,但在节点上不起作用? 或者,如何使用“类似数组”的密钥访问来呈现对象

0 个答案:

没有答案