从layouts文件夹链接layout.pug文件

时间:2018-02-26 13:18:24

标签: node.js express pug

所以我正在清理项目中的结构,我将布局,导航和页脚放在一个单独的文件夹中。

我现在正在尝试在我的文件中渲染布局文件,但我似乎无法正确使用该路径。

这是结构

image #1

在我尝试过的仪表板/索引中

extends ../layoutextends ./layout& extends ../../layout

这是layouts.pug文件

doctype html
html
  head
    title= title
    meta(name='viewport' content='width=device-width, initial-scale=1')
    meta(charset='utf-8')

    link(rel='stylesheet' href='/stylesheets/output.css')
    link(rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css')
  body(class='antialiased min-h-screen')
    include navigation
    include error
    block content
    include footer

    script(src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js')
    script(src='https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.bundle.min.js')
    script(src='/javascripts/fontawesome-all.min.js' defer)
    script(src='/javascripts/site.js')

2 个答案:

答案 0 :(得分:0)

通过执行

解决了这个问题
extends ../layouts/layout

表示文件夹内的文件,例如dashboard/index.pug

extends ./layouts/layout

用于views目录中的文件,即login.pug

答案 1 :(得分:0)

要设置文件地址,请在哈巴狗文件中执行include /../component/file
如果在渲染功能路径中单独使用pug,则这些选项:

 pug.render(pugTemplate, {
      filename: 'Pug', // in order to use relative address (your case)
      basedir: __dirname, // absolute address
      // other options
    })