Sails.js 用于前端的Dustjs辅助程序

Sails.js 用于前端的Dustjs辅助程序,sails.js,dust.js,Sails.js,Dust.js,因此,我在Sailsjs上使用Dustjs进行我的项目 我在服务器上呈现第一个页面,然后在客户端使用相同的模板 问题:我的模板包含一个global sails服务,它兼作dustjs助手: {#sails.services.globalutils.hyphenator str=title/} 但是,在客户端,我无法使用此服务。如何在不使用JS解决方案的情况下将此服务导出到客户端?它可以与dustjs模板捆绑吗?A{section}表示Dust应该在提供给Dust.render()的上下文中查找。

因此,我在
Sailsjs
上使用
Dustjs
进行我的项目

我在服务器上呈现第一个页面,然后在客户端使用相同的模板

问题:我的模板包含一个
global sails服务
,它兼作
dustjs助手

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

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

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

{
  "sails": {
    "services": {
      "globalutils": {
        "hyphenator": function(chunk, context, bodies, params) {
          // do some hyphenation
        }
      }
    }
  }
}

当然,如果
hyphenator
具有依赖于服务器的逻辑,则不能将其移动到客户端。您可以公开脚本调用的服务器端API,并将其与
chunk.map
耦合,以创建一个异步灰尘块。

我从未遇到过这种情况!谢谢