Mustache.js 中compile()、parse() 和render() 之间的区别
有什么区别:
Mustache.compile()
, Mustache.parse()
,以及 Mustache.render()
新的胡子中的 。 Node.js 版本 0.5.0,也许为了加分,您可以告诉我们解析和编译之间的一般差异。
What is the difference between:
Mustache.compile()
,Mustache.parse()
, andMustache.render()
in the new mustache.js version 0.5.0, and perhaps for bonus points you could tell us what the difference between parsing and compiling is in general.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
编辑
0.8.0 版本中引入的 API 更改< /a>,
compile()
方法已集成到parse()
中。不再需要手动编译模板。Mustache.parse()
从语法上解析模板并从中创建 JavaScript 函数体(字符串)。在此过程中,它会通知模板中遇到的任何语法错误。
Mustache.compile()
使用从成功的
parse()
返回的函数体来创建实际的 JavaScript 函数。创建的函数被放置在缓存中以供重复使用。Mustache.render()
为给定模板(由
compile()
创建的模板)采用适当的函数并将其应用于实际数据。这将创建要在屏幕上显示的结果。EDIT
With an API change introduced in version 0.8.0, the
compile()
method has been integrated intoparse()
. Manually compiling the templates is no longer required.Mustache.parse()
Syntactically parses the template and creates a JavaScript function body (a string) from it. During that process it notifies of any syntax errors encountered in the template.
Mustache.compile()
Uses the function body returned from a successful
parse()
to create an actual JavaScript function. The created function is placed in a cache for re-use.Mustache.render()
Takes the appropriate function for a given template (the one that was created by
compile()
) and applies it to actual data. This creates the result meant to be shown on screen.只是提示
Mustache.parse(template)
是可选的,可以加快模板的未来使用速度。当您想要将模板与一组(大)数据重用时,这非常有用。如果不是这种情况,调用生成最终结果的Mustache.render()
就足够了。Just a tip
Mustache.parse(template)
is optional and speeds up future uses of template. This is useful when you want to reuse your template with a set of (large) data. If this is not the case a call to theMustache.render()
, which generates the final result, is enough.一点额外的:
如果您使用自定义分隔符(而不是
{{
和}}
),则可以在调用Mustache 之前使用
使用自定义分隔符作为参数。Mustache.parse
.render示例:
将导致:
A little extra:
If you working with custom delimiters (instead of
{{
and}}
), you can useMustache.parse
before calling theMustache.render
with the custom delimiters as a parameter.Example:
Will result In: