node.js - 带有 Express 和 Handlebars 的多个视图文件夹
问题描述
我需要使用 Express 和 express-handlebars 注册多个视图文件夹。有可能吗?
我有这个结构:
/project/
/admin/
/views/
/server/
/webapp/
/views/
/server/
/common/
/node_modules/
而且我需要当我在路由中呈现视图时,我能够访问这些文件夹视图之一/admin/views/ 或/webapp/views/。
解决方案
从 express 版本 4 开始,您可以通过传递如下目录数组来执行app.set(name, value)
此操作:
app.set('views', [
path.join(__dirname, 'app/index'),
path.join(__dirname, 'app/error'),
]);
命名冲突:
这样做时要小心,以免发生命名冲突。例如,如果您有两个文件,error.ejs
一个是 inside app/index
,另一个是 inside app/error
,express 将在app/index
文档状态下提供一个 inside :
视图按照它们在数组中出现的顺序进行查找。
推荐阅读
- python - os.system 功能不会清屏
- azure-service-fabric - Azure Service Fabric - 大型跟踪日志文件夹
- r - 事件矩阵名称提取所有 TRUE
- http - HTTP 用户/密码抓取混乱
- python - 如何比较两个熊猫数据框并删除一个文件上的重复项而不附加其他文件中的数据
- r - 将 aa 字符列转换为具有多种格式的日期
- scala - 如何缩小列表但保证它不为空?
- maven - 无法使用 Maven Archetype 为 opendaylight 创建项目
- performance - 在 Ubuntu 16.04 上输入时 Android Studio 变得迟钝
- php - 在 laravel 中找不到类路径