Node.js jade模板中的多行无缓冲代码

Node.js jade模板中的多行无缓冲代码,node.js,pug,Node.js,Pug,我正在尝试编写一个呈现双索引数组的模板。所以我开始写这个: - var grid = [[1, 0, 1], [0, 1, 0]]; each row in grid each cell in row if cell span x else span o 但这不是我想要编写数组的方式 我想这样写: - var grid = [[1, 0, 1], [0, 1, 0]]; 这不起

我正在尝试编写一个呈现双索引数组的模板。所以我开始写这个:

- var grid = [[1, 0, 1], [0, 1, 0]];
each row in grid
    each cell in row
        if cell
            span x
        else
            span o
但这不是我想要编写数组的方式 我想这样写:

- var grid = [[1, 0, 1],
              [0, 1, 0]];
这不起作用,因为jade已经超出了内联javascript

- var grid = [[1, 0, 1],
             - [0, 1, 0]];
这是行不通的,因为jade认为这两行是错误的,而不是一行

我怎样才能让它工作

编辑:耶,这些是真的!去看看另一个关于如何解决这个问题的答案

遗憾的是,这在Jade中目前是不可能的。TJ(维护人员)表示他不关心这一点,但欢迎功能请求


幸运的是,您可以在JS文件中声明数组并将其作为变量传递给Jade。

更新:多行DEF现在正在使用Jade
1.11.0
为我工作。即使是嵌套的JSON现在也像一种魅力

-
  projects = [{
    title: "Project 1",
    classname: "project1",
    slides: [{
      title: "Slide 1"
      img: "images/hello.png"
    },{
      title: "Slide 2"
      img: "images/world.png"
    }]
  }, {
    title: "Project 2",
    classname: "project2",
    slides: [{
      title: "Slide 3"
      img: "images/fun.png"
    },{
      title: "Slide 4"
      img: "images/things.png"
    }]
  }]

好啊你能举个例子吗?如果我将一个变量输出到一个js文件中,那么在编译过程中将该变量包装到一个函数定义中(我认为它是一个模块)。我正在和杰德一起吃早午餐。如何直接包含js(或来自jade的JSON文件)?@NerDoc这类东西(将变量传递给jade)在文档中有介绍:Aaaaah。我一定忽略了,这确实涵盖了文本包含-因此如果我理解正确,我可以使用
script\n include blah.js
将变量直接包含在当前文件中,对吗?这不起作用。当我包含一个包含
var blah=5的文件时,我无法从父文件中访问变量blah。我的Js不是很流利(你可能会想)。。。你能在这里给我一个提示吗?@NerDoc我想你指的是将它包含在脚本标记中,就像你之前的评论一样?那么no-Jade在编译时无法使用该变量。相反,它将在浏览器的上下文中声明。在我看来,Jade是一种神奇而美丽的模板语言,但它也很容易让你陷入像这样稍微令人困惑的境地。