【发布时间】:2013-01-30 19:56:50
【问题描述】:
我在 express 应用和浏览器中都使用 Jade 模板。我需要在将数据放入输入之前对其进行格式化。
我应该在 node.js 和浏览器中都用类似的方式扩展 locals 吗?
{ formatDate: function(date) {}, ... }
或者是否有任何最佳实践将帮助函数(例如格式化货币、日期等)传递给玉模板?
【问题讨论】:
-
我相信在两边扩展本地人是正确的,除非我将它包装在本地人的命名空间中,例如
helpers: { ... }。这样可以使物品保持清洁并集中在一个地方,并避免任何碰撞。将模块编写为对节点和浏览器都友好,并将其放在共享目录中,您可以将其从两侧拉入。在浏览器端,只需实现一个自动扩展本地的render函数;在节点端,只需将其添加到res.locals。 -
另一种选择是采用更“无逻辑”的路线并将您的数据预处理为模板就绪,从而消除对帮助程序的需求。根据您的模板的复杂性,这可能是一种可能性。
-
听起来很合理,谢谢。
标签: javascript node.js express pug