【发布时间】:2016-06-07 16:21:17
【问题描述】:
我目前正在尝试不同的 node.js 模板引擎,包括dust.js
将所有布局和视图内容存储在数据库而不是文件系统中是否可行?有没有更适合这种情况的模板引擎?
理想情况下,我会创建一个管理屏幕,我可以在其中编辑所有主布局和视图,而无需复制任何文件。
【问题讨论】:
标签: node.js ejs templating dust.js
我目前正在尝试不同的 node.js 模板引擎,包括dust.js
将所有布局和视图内容存储在数据库而不是文件系统中是否可行?有没有更适合这种情况的模板引擎?
理想情况下,我会创建一个管理屏幕,我可以在其中编辑所有主布局和视图,而无需复制任何文件。
【问题讨论】:
标签: node.js ejs templating dust.js
绝对可行,您只需负责自己的模板编译/水化。假设您使用的是 Express,内置视图引擎希望模板位于文件系统上,因此如果您不打算将它们放在文件系统中,则有以下三种选择:
1) fork express 删除该支票 2)在应用程序启动时将所有视图预缓存在视图缓存中(以便从缓存中提取它们而不是查看文件系统) 3) 忽略 Express 提供的视图渲染,自己编译模板。
执行 3 似乎是最自然的选择,但要意识到 Express 缓存已编译的模板是有原因的,因此您可以考虑构建自己的模板缓存(并在内容更新时处理缓存失效)。
实际上,可能会或可能不会更好的第四种方法(未经测试)是使用 Express 的默认视图渲染,但在应用程序启动时,使用它们将所有视图文件写入虚拟驱动器 temp 模块 (here )
【讨论】: