我的尘埃工作得相当好,但我希望能够包含一个文件,例如css文件,而无需编译和渲染它。
似乎我可能需要创建一个onLoad处理程序来加载文件并直接注册内容。
有没有办法在尘埃中做到这一点?
答案 0 :(得分:1)
您可以利用Dust对流的本机支持和承诺,使文件包含非常好。确切的实现取决于您是否在服务器或客户端上运行Dust,但想法是一样的。
编写一个加载文件的助手,并为结果返回Stream或Promise。 Dust会异步将其呈现到模板中,因此执行文件I / O不会阻止处理模板的其余部分。
为简单起见,我将编写一个上下文帮助程序,但您也可以将其作为Dust全局帮助程序。
setOnKeyPressed((ev)->{
logic.keyReaction(KeyCode.fromCode(ev.getCode().impl_getCode()));
ev.consume();
});
setOnKeyReleased((ev)->{
logic.keyReactionReleased(KeyCode.fromCode(ev.getCode().impl_getCode()));
ev.consume();
});
然后像这样使用它:
{
"css": function(chunk, context, bodies, params) {
// Do some due diligence to sanitize paths in a real app
var cssPrefix = '/css/';
var path = cssPrefix + context.resolve(params.path);
return $.get(path);
}
}
或服务器的流媒体版本:
{#css path="foo/bar.css"}{.}{/css}