9

嗨,我正在尝试使用 Jade 的扩展node.js 项目,并且想法是有这样的:

布局.jade:

head
    script
        $(document).ready(function() {
        block js_doc_ready
            //here goes the doc ready
        });

index.jade:

block js_doc_ready
    alert('hello!');
    alert('one more js line code');
    alert('end my js doc ready for this view');

这会给我一个 index.html 像这样:

...
<head>
    <script type="text/javascript">
            $(document).ready(function() {
                alert('hello!');
                alert('one more js line code');
                alert('end my js doc ready for this view');         
            });
    </script>
</head>
...

但是当我看到结果时,'block js_doc_ready'不被认为是 Jade 块。此外,即使它被认为是一个块,“alert('hello!);' 不会被视为一个,而是一个翡翠标签。

这是我以前在 django 模板中做的事情,但是在带有所有这些标签的翡翠中,并且没有自由做纯 html 我仍然觉得做这些事情有点太奇怪了。

4

1 回答 1

23

Jade 不翻译“样式”和“脚本”代码中的内容。绝不。

可行的方法是基于我对另一个问题的回答(使用样式元素,但基本相同)。

!!!
head
  title Hello jade
  | <script type='text/javascript'>
  | $(document).ready(function() {
      block js_doc_ready
  | });
  | </script>

这样:jade 将包含 HTML 'script' 标签和 $.ready 行,但也会包含您的块。

于 2012-06-10T17:53:17.913 回答