使用带有Kraken js的dustjs-helpers

时间:2014-06-25 20:43:22

标签: node.js dust.js kraken.js

  

我使用Kraken 1.0.1与yo kraken创建了一个项目,带有模板引擎dustjs,但是我不能使用函数dustjs-helpers。

我的config.json:

"express": {
    "view cache": false,
    "view engine": "dust",
    "views": "path:./public/templates"
},

"view engines": {
    "dust": {
        "module": "engine-munger",
        "renderer": {
            "method": "dust",
            "arguments": [
                { "cache": false},
                {
                    "views": "config:express.views",
                    "view engine": "config:express.view engine",
                    "specialization": "config:specialization",
                    "i18n": "config:i18n"
                }
            ]
        }
    }
}

template.dust(不是工作助手)

{@if cond="1<2"}
   <div>  x is less than y and b == c and either e or f exists in the output </div> 
 {:else}
   <div> x is >= y </div>
 {/if}

template2.dust(working)

        {?messages}
            {#messages}
                <div data-alert class="alert-box info radius">
                  {.}
                  <a href="#" class="close">&times;</a>
                </div>
            {/messages}
        {/messages}

只有尘埃核心工作,我用npm添加dustjs-helpers。如何在我的kraken项目中添加dustjs-helpers?

2 个答案:

答案 0 :(得分:2)

过去两天刚刚打过这样的事情。问题是,在设置它自己的时候,粉尘帮助者会破坏任何早期定义的助手。请参阅问题:https://github.com/linkedin/dustjs-helpers/issues/72

你可以尝试使用这个来自问题72线程中提到的PR的repo版本来解决它。  https://github.com/patrick-steele-idem/dustjs-helpers 或者只是非常确定你的助手是在加载了dustjs并加载了dustjs-helpers之后定义的。

答案 1 :(得分:0)

在Kraken.js 1.0.3+上添加一个krakenJS项目中的灰尘助手你需要在config.json中取消它们。默认情况下,KrakenJS不包含Dust.js助手。

在config / confing.json中找到专门用于灰尘的部分,并在“helpers”数组中添加“dustjs-helpers”条目。如果您还启用了dust-makara,它应该看起来像这样:

"dust": {
    "helpers": [

        "dust-makara-helpers",
        "dustjs-helpers"


    ]
},