Node.js 从其他视图文件夹中包括pug mixin

Node.js 从其他视图文件夹中包括pug mixin,node.js,express,include,pug,mixins,Node.js,Express,Include,Pug,Mixins,我在express应用程序中设置了多个视图路径: express.set('views',['/path1', '/path2', '/path3']); 渲染视图时,我希望在path1中包含pug文件表单path2 # /path2/index.pug include path1/mixin.pug 我找不到此问题的解决方案。我没有使用express.set视图 在你的哈巴狗档案里做这个 包括../path1/mixin.pug (或没有。帕格也可以工作)例如包括../path1/mix

我在express应用程序中设置了多个视图路径:

express.set('views',['/path1', '/path2', '/path3']);
渲染视图时,我希望在
path1
中包含pug文件表单
path2

# /path2/index.pug

include path1/mixin.pug

我找不到此问题的解决方案。

我没有使用express.set视图

在你的哈巴狗档案里做这个

包括../path1/mixin.pug (或没有。帕格也可以工作)例如包括../path1/mixin

编辑:

对于那些投了反对票的人,你对乔恩·斯诺一无所知

我的设置:
文件:根项目文件夹中的index.js[注意没有app.set('views',path.join('view'))]

文件夹:视图(根文件夹内)

文件夹:零件(内部视图文件夹,如根/视图/零件)

文件:mixin.pug(内部视图文件夹,例如root/view/part/mixin.pug

mixin pet(name)
  li.pet= name
文件夹:模板(内部视图文件夹,如root/view/template)

文件:main.pug(在root/view/template/main.pug中)

文件夹:主页(根文件夹内,如root/home)

文件:route.js(在主文件夹中,例如root/home/route.js)

文件:index.pug(在主文件夹中,例如root/home/index.pug)

如您所见,这是localhost:3000的输出

绝对证明它可以在没有express.set视图的情况下工作,并且可以使用include../path1/mixin.pug

工作原理:

  • root index.js文件路由到文件夹home到file route.js,拉取文件index.pug
  • index.pug提取模板文件main.pug。然后提取mixin
“你什么都不知道,乔恩·斯诺”

可能是
mixin pet(name)
  li.pet= name
doctype html
html
    head
    body
        h1 Hello template/main.pug
        block content
const express = require('express')
const app = module.exports = express()
app.get("/",(req,res)=>{
    res.render('../home/index')
  })
extends ../view/template/main
block content
    h1 Helllllo from home/index.pug
    include ../view/part/mixin
    +pet('you')
    +pet('know')
    +pet('nothing')
    +pet('jon')
    +pet('snow')