脚本。 JADE标签不会在Express中呈现

时间:2017-06-15 19:23:28

标签: javascript node.js express pug

我希望在我的JADE模板中有客户端脚本并编写

扩展布局

script.
    function collect_data() {

        var transitions = {};

        $( ":checkbox:checked" ).each(function (index, element) {
        //// some code
    }

block content
    h1= title

    table
        - for (var i = 1; i < images.length; ++i) {
            - var image;
            // and so on

我期待像

这样的东西
<script>
    function collect_data() {

    var transitions = {};
    ...

</script>

在我的网页源代码中,但我没有看到它。

什么是不正确的?如何在Jade中将嵌入式javascript渲染到模板中?

1 个答案:

答案 0 :(得分:1)

您正在通过

扩展布局

extends layout

这意味着你是一个儿童模板,根据帕格的docs common mistakes section

  

请注意,只有命名块和mixin定义可以出现在子模板的顶部(未缩进)级别。这个很重要!父模板定义页面的整体结构,子模板只能附加,前置或替换特定的标记和逻辑块。如果子模板试图在块之外添加内容,Pug将无法知道将其放在最终页面中的位置。

这意味着你应该做那样的事情

//- layout.pug
html
  head
    block head
  body
    block content

并在子模板中执行类似这样的操作

extends layout

block append head
  script.
        function collect_data() {

            var transitions = {};

            $( ":checkbox:checked" ).each(function (index, element) {
            //// some code
        }

会将其显示在head

layout部分下方
相关问题