如何在express app的视图中使用文件夹
我的视图文件夹中有一个pug模板,位于如何在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.
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/
目录中查找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
?