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'
}));