如何在expressjs中调用多个文件.pug?

时间:2019-09-28 22:26:19

标签: javascript express pug

我想调用几个.pug文件,以便它动态运行。但是我得到一个错误。

res.render('layout');
res.render('body');
res.render('footer');

有人知道该如何克服吗?我无法调用多个.pug文件

1 个答案:

答案 0 :(得分:2)

您使用哈巴狗文件来调用它(不与路线文件一起使用,而是哈巴狗文件)

header.pug

nav.nav-top
    ul
        li.menu-item
            a(href='/').menu Home
            a(href='/dashboard').menu Dashboard
            a(href='/dashboard/thelist').menu thelist
            a(href='/login').menu Login

footer.pug

main.pug [布局文件]。注意包括部分(例如,包括../part/header-top)。我的零件文件夹不同于我的布局文件夹。这只是意味着包括pug文件,它将获取您其他pug文件的内容。只需包含include pugfilename。

doctype html
html
    head
        title #{title} 23
        link(rel='stylesheet' href='/css/style.css')
        //- script(src='/js/main.js')
        //- script(src="https://code.jquery.com/jquery-3.1.0.min.js")
    body
        container.page
            include ../part/header-top
            include ../part/header-main
            h1 Hello main.pug
            block content
            br
            hr
            block kicker
        footer
            p Copyright © 2019
        script(src='/js/main.js')

在您的路线中显示的哈巴狗文件中。请注意您的帕格文件布局文件的扩展名和文件位置。我将布局文件命名为main,所以请指向您这一侧。块内容是页面的内容。它将块内容放入您的布局页面,其中显示块内容。

extends ../../template/layout/main

block content
    h1 View
    a(href="/dashboard/thelist") The List

注意:根据您的布局和文件夹结构,您的文件夹将不同于我的文件夹!

如果需要更多帮助,则需要提供文件夹结构的详细信息!

如果您需要更多帮助,这是我设置的一个示例(有关mixin,但可解决您调用pug文件的问题):Include pug mixin from other view folder