所以我在Dustjs
上使用Sailsjs
作为我的项目。
我正在渲染服务器上的第一页,然后使用相同的模板客户端。
问题:我的模板包含global sails service
,其中dustjs helper
加倍:
{#sails.services.globalutils.hyphenator str = title /}
但是,在client-side
上,我无法使用此服务。如何在不使用JS解决方案的情况下将此服务导出到客户端?它可以与dustjs模板捆绑在一起吗?
答案 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块。