我需要使用Express和Express-Handlebars注册多个视图文件夹。可以吗?
我有这样的结构:
/project/
/admin/
/views/
/server/
/webapp/
/views/
/server/
/common/
/node_modules/
在路由中渲染视图时,我需要能够访问以下文件夹之一:视图/ admin / views /或/ webapp / views/。
答案 0 :(得分:0)
从快速版本4开始,您可以通过传递目录app.set(name, value)
来做到这一点:
app.set('views', [
path.join(__dirname, 'app/index'),
path.join(__dirname, 'app/error'),
]);
命名冲突:
执行此操作时请小心,以免出现命名冲突。例如,如果您有两个名为error.ejs
的文件,一个在app/index
内,另一个在app/error
内,则自documentation起,express将在app/index
中提供一个文件。状态:
以数组中出现的顺序查找视图。