Node.js和渲染视图和模板存储在数据库中

时间:2016-06-07 16:21:17

标签: node.js ejs templating dust.js

我正在尝试使用不同的node.js模板引擎,包括dust.js

将所有布局和视图内容存储在数据库而不是文件系统中是否可行?是否有任何模板引擎更适合这种情况?

理想情况下,我会创建一个管理屏幕,我可以编辑所有主布局和视图,而无需任何文件复制。

1 个答案:

答案 0 :(得分:1)

绝对可行,您只需负责自己的模板编译/保湿。假设您正在使用Express,内置视图引擎希望模板位于文件系统上,因此如果您不打算将模板放在那里,则有三种选择:

1)fork express删除该检查 2)在应用程序启动时预先缓存视图缓存中的所有视图(以便从缓存中提取它们而不是查看文件系统) 3)忽略Express提供的视图,并自己编译模板。

做3似乎是最自然的选择,但要意识到Express缓存编译模板的原因,因此您可以考虑构建自己的模板缓存(并在更新内容时处理缓存失效)。

实际上,第四种方法可能会或可能不会更好(未经测试)将使用Express的默认视图呈现,但在应用启动时使用它们将所有视图文件写入虚拟驱动器{{1} } module(here