我尝试了一切使这个模板工作,但仍然出现这个错误:只有命名的块和混合可以出现在扩展模板的顶层

Mar*_*aku 4 templates node.js pug

只有命名块和 mixins 才能出现在扩展模板的顶层。它杀了我,我不明白为什么这不起作用。我对哈巴狗很陌生,也许我应该使用一种叫做 mixins 的东西。

//layout.pug

doctype html
html   
  head
    title= title
    link(rel='stylesheet', href='/stylesheets/style.css')
    link(rel='stylesheet', href='https://www.w3schools.com/w3css/4/w3.css')
    script(src="https://cdn.auth0.com/js/auth0/8.7/auth0.min.js")
    link(href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css',rel='stylesheet')
    script(src='https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js')
    script(src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js') 
  body
    nav.w3-bar.w3-border.w3-light-grey( role="navigation" )

      if loggedIn
        a(href="/getposts").w3-bar-item.w3-button All Customers
        a(href="/gethotposts" ).w3-bar-item.w3-button HOT Customers
        a(id="qsLogoutBtn" href="/logout").w3-bar-item.w3-button Logout
      else
        a(id="qsLoginBtn" href="/login").w3-bar-item.w3-button Login
        a(href="/getposts").w3-bar-item.w3-button All Customers
        a(href="/gethotposts" ).w3-bar-item.w3-button HOT Customers

    block content
Run Code Online (Sandbox Code Playgroud)
//customers.pug

extends layout

block content
table.table.table-striped(style='width:700px')(align='center')
  thead
    tr
       th First Name
       th Last Name
       th Email
       th Status
  tbody
    each value in customer
      tr
         td=value.First_Name
         td=value.Last_Name
         td=value.Email
         td=value.Status
Run Code Online (Sandbox Code Playgroud)

Gra*_*ham 5

当我很匆忙并且没有仔细检查缩进时,这种情况经常发生在我身上。

block content
table.table.table-striped(style='width:700px')(align='center')
Run Code Online (Sandbox Code Playgroud)

您需要将标签缩进两个空格,使其位于“之下” block content,而不是与“甚至”一起:

extends layout

block content
  table.table.table-striped(style='width:700px')(align='center')
    thead
      tr
        th First Name
        th Last Name
        th Email
        th Status
    tbody
      each value in customer
        tr
          td=value.First_Name
          td=value.Last_Name
          td=value.Email
          td=value.Status
Run Code Online (Sandbox Code Playgroud)