使用把手输出原始javascript

时间:2017-05-25 19:28:39

标签: handlebars.js highlight.js

我创建了一个用于存储代码段的迷你CMS。 它从一个mongodb数据库中提取文章。 我使用highlgiht.js来显示代码并允许用户复制代码段。

使用HTML,一切都按预期工作:

{{#article}}
    <h1>Demo</h1>
    {{{markup}}} <!-- prints raw HTML in the screen, yay! -->

    <h1>HTML</h1>
    <pre class="pre-scrollable"><code class="html">{{markup}}</code></pre>
    <!-- prints escaped HTML in the screen, and highlight.js highlights it perfectly! YAY -->

{{/article}}

现在,使用Javascript:

{{#article}}

    <h1>Demo</h1>
    {{{js}}} <!-- prints empty script tag: <script></script> -->

    <h1>JS</h1>
    <pre class="pre-scrollable"><code class="html">{{js}}</code></pre>
    <!-- prints <script></script> -->

{{/article}}

该领域的内容&#34; js&#34;在数据库中是&#34; console.log(&#34; test&#34;);&#34;

为什么不输出数据库中保存的内容,而是单独编写一个新的脚本标记?

谢谢!

1 个答案:

答案 0 :(得分:0)

拔掉大部分头发后,我想出来了:

我有一个名称冲突,我的文档属性/字段被命名为“js”,并且与我正在使用的库中的助手名称冲突: https://github.com/helpers/handlebars-helpers/blob/master/lib/html.js#L85