Node.js 节点和把手文件夹结构

Node.js 节点和把手文件夹结构,node.js,handlebars.js,Node.js,Handlebars.js,我想改变我的文件和文件夹结构一点,我试图寻找解决方案已经在线,但没有找到任何简单的,我觉得这件事应该有一个简单的解决方案 我现在有这个 var expressHandlebars = require('express-handlebars'); app.set('views', __dirname + '/views'); app.engine('hbs', expressHandlebars({extname: 'hbs', defaultLayout: 'main'})); 我的文件夹结构

我想改变我的文件和文件夹结构一点,我试图寻找解决方案已经在线,但没有找到任何简单的,我觉得这件事应该有一个简单的解决方案

我现在有这个

var expressHandlebars = require('express-handlebars');
app.set('views', __dirname + '/views');
app.engine('hbs', expressHandlebars({extname: 'hbs', defaultLayout: 'main'}));
我的文件夹结构如下

views

-- frontend
---- (doesn't matter, gulp takes care of this for FE).hbs

-- layouts
---- main.hbs

-- index.hbs
我想要的是

views

-- frontend
---- (doesn't matter, gulp takes care of this for FE).hbs

-- backend
---- views
------ index.hbs
---- main.hbs
基本上,当我在根目录中打开视图文件夹时,我希望先打开前端文件夹,然后打开后端文件夹。根目录中的后端文件夹应具有主布局,然后在文件夹中具有特定视图的不同部分

我可以添加后端文件夹,而不会出现任何更改的问题

app.set('views', __dirname + '/views');

但是如何交换视图文件夹根目录中的布局?

这样做会抛出一个错误,因为他将在
/backend/layouts/main.hbs
中查找布局,我希望它位于根目录中

另外,后来我通过说
res.render('index',data)来呈现事物。建议的解决方案应能做到相同,或至少
res.render('视图/索引',数据)因为新视图将位于文件夹中


感谢任何帮助或提示。

别客气,在同事的帮助下找到它

在查看文档时,我忽略了一个实际的选项

app.engine('hbs', expressHandlebars({
                      extname: 'hbs', 
                      defaultLayout: 'main', 
                      layoutsDir: './views/backend'
                  }));
app.engine('hbs', expressHandlebars({
                      extname: 'hbs', 
                      defaultLayout: 'main', 
                      layoutsDir: './views/backend'
                  }));