Dustjs帮助前端

时间:2014-09-18 09:09:40

标签: sails.js dust.js

所以我在Dustjs上使用Sailsjs作为我的项目。

我正在渲染服务器上的第一页,然后使用相同的模板客户端。

问题:我的模板包含global sails service,其中dustjs helper加倍:

  

{#sails.services.globalutils.hyphenator str = title /}

但是,在client-side上,我无法使用此服务。如何在不使用JS解决方案的情况下将此服务导出到客户端?它可以与dustjs模板捆绑在一起吗?

1 个答案:

答案 0 :(得分:0)

A {#section}表示Dust应该在提供给dust.render()的上下文中查看。因此,只要hyphenator函数没有服务器端依赖项,您就可以在客户端上下文中引入它。 Sails服务只是api/services文件夹中的Javascript模块,因此请尝试require相关模块,抓取其hyphenator属性,并将其传递给客户端以在客户端{{1}中使用1}}来电。

render

当然,如果{ "sails": { "services": { "globalutils": { "hyphenator": function(chunk, context, bodies, params) { // do some hyphenation } } } } } 具有依赖于服务器的逻辑,则不能只将其移动到客户端。您可以公开脚本调用的服务器端API,并将其与hyphenator耦合以创建异步Dust块。