如何在.jade和.pug文件中调试数组与对象(基于Node.js与Express.js)
Pug/Jade 模板打印对象/数组调试方案
你写的- console.log(authorised)本身语法是正确的,只是它的执行时机是服务端渲染模板阶段,输出内容会打印在你启动Express服务的终端窗口里,不会出现在浏览器端,如果你没找到输出可以去Node服务运行的终端查看。
如果你需要不同场景的调试方式,可按需选择以下方案:
方案1:直接在页面上展示结构化数据(和PHP的print_r效果一致)
用JSON.stringify搭配pre标签保留格式,直接在模板中插入如下代码即可:// 打印单个变量 div pre= JSON.stringify(authorised, null, 2) // 打印users数组 div pre= JSON.stringify(users, null, 2)其中JSON.stringify的后两个参数是用来格式化缩进,让输出结构更易读。
方案2:输出到浏览器开发者控制台
如果想在浏览器F12的控制台查看变量,可通过非转义插值把数据注入到前端script中:script. // 注意用!{}做非转义插值,避免JSON引号被转义 console.log('authorised值:', !{JSON.stringify(authorised)}) console.log('users数组:', !{JSON.stringify(users)})方案3:封装调试用mixin(高频调试场景推荐)
可以封装公共的调试组件,后续调用更方便:// 先定义mixin mixin print_r(data) pre.style="background: #f5f5f5; padding: 10px; border-radius: 4px;"= JSON.stringify(data, null, 2) // 任意位置调用即可 +print_r(authorised) +print_r(users)
内容的提问来源于stack exchange,提问作者MSP
相关产品推荐
相关产品推荐

