如何在express app的视图中使用文件夹

如何在express app的视图中使用文件夹,express,pug,Express,Pug,我的视图文件夹中有一个pug模板,位于views/administration/assets/fixed assets.pug extends default.pug block scripts if !starter script(src='/js/main.js') block view .animated.fadeIn h1 Fixed Assets 固定资产.pug扩展的Mydefault.pug位于我的根视图文件夹中 当我尝试呈现fixed assets.

我的视图文件夹中有一个pug模板,位于
views/administration/assets/fixed assets.pug

extends default.pug

block scripts
  if !starter
    script(src='/js/main.js')

block view
  .animated.fadeIn
    h1 Fixed Assets
固定资产.pug扩展的My
default.pug
位于我的根视图文件夹中

当我尝试呈现
fixed assets.pug
视图时,它会在
views/administration/assets/
目录中查找
default.pug
,而不是视图目录本身

如果我使用
fixed assets.pug
并将其放置在视图目录中,而不是
views/administration/assets/
目录中,并相应地更新路由,则一切正常

如何让express在视图目录中查找
default.pug
,在
views/administration/assets/
目录中查找
fixed assets.pug

这是我的路线

var express = require('express');
var secured = require('../lib/middleware/secured');
var router = express.Router();

/* GET fixed-assets page. */
router.get('/administration/fixed-assets', secured(), function(req, res, next) {
  res.render('administration/assets/fixed-assets', {
    title: 'Fixed Assets'
  });
});

module.exports = router;
这是我的
视图/管理/资产/固定资产.pug

extends default.pug

block scripts
  if !starter
    script(src='/js/main.js')

block view
  .animated.fadeIn
    h1 Fixed Assets
这就是我得到的错误

eNote:没有这样的文件或目录,请打开 “/usr/src/app/views/administration/assets/default.pug”位于 /usr/src/app/views/administration/assets/fixed-assets.pug第1行

谢谢你的帮助

在它的文档中说:

如果路径是绝对路径(例如include/root.pug),则通过 预结束options.basedir。否则,将解析相对于的路径 正在编译的当前文件

对此的解释如下:

basedir:字符串所有绝对包含的根目录

您可以在主app.js/server.js文件中全局实现basedir,如下所示:

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
app.locals.basedir = path.join(__dirname, 'views');

此文件位于何处
扩展default.pug