【发布时间】:2017-09-10 01:38:26
【问题描述】:
我习惯于给模板下划线,我可以通过调用console.log(obj) 直接在下划线模板内对上下文对象进行控制台记录。哈巴狗模板中是否有同样的可能?如果是这样,我如何访问这个对象?
如果没有,为什么不呢?调试 pug 模板的好方法是什么?
谢谢!
【问题讨论】:
我习惯于给模板下划线,我可以通过调用console.log(obj) 直接在下划线模板内对上下文对象进行控制台记录。哈巴狗模板中是否有同样的可能?如果是这样,我如何访问这个对象?
如果没有,为什么不呢?调试 pug 模板的好方法是什么?
谢谢!
【问题讨论】:
我认为如果没有变通办法,这是不可能的。我想到的最简单的解决方案是保留您用来将本地变量传递给 Pug 编译器的对象的引用,并且您也手动传递对该对象的引用。如果您在 Express 上下文中使用它,可以查看 this middleware approach,这可以说是一种更优雅的方式。
然后可以使用console.log statement 完成实际打印,尽管您可能希望将其转换为 mixin(以防止每次要调试时都必须对上下文变量进行字符串化)。 mixin 方法还允许您在一个中心位置关闭调试语句,而不必一一禁用所有单独的调试语句。
【讨论】: