带有Express和Handlebars的多个视图文件夹

时间:2019-10-23 08:33:00

标签: node.js express express-handlebars

我需要使用Express和Express-Handlebars注册多个视图文件夹。可以吗?

我有这样的结构:

/project/
    /admin/
        /views/
        /server/
    /webapp/
        /views/
        /server/
    /common/
    /node_modules/

在路由中渲染视图时,我需要能够访问以下文件夹之一:视图/ admin / views /或/ webapp / views/。

1 个答案:

答案 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中提供一个文件。状态:

以数组中出现的顺序查找视图。