Liquid-Node 是一种基于 Promise 的模板语言,可用于在异步数据库调用(除其他外)之后创建模板。ExpressJS 没有内置支持。
让 Express 使用 Liquid-Node 作为其视图引擎的最佳方法是什么?
我想出的最好的方法是将 vow-fs 用于 fs 承诺(在 Livescript 中),并假设使用扩展名“.liquid”调用视图:
vowfs = require \vow-fs
Liquid = require \liquid-node
app.engine \.liquid, (filename, options, fn) ->
vowfs.read filename
.then (res) ->
content = res.toString!
template = Liquid.Template.parse content
template.render options
.then (res) -> fn null, res