LiquidJS 可以用来作为 Express 的模板引擎。可以把 Liquid 设置到 view engine 选项上即可:
var { Liquid } = require('liquidjs');
var engine = new Liquid();
// 注册为 liquid 文件的模板引擎
app.engine('liquid', engine.express());
app.set('views', './views'); // 指定模板目录
app.set('view engine', 'liquid'); // 把 liquid 文件设为默认模板
示例这是一个在 Express.js 中使用 LiquidJS 的例子:liquidjs/demo/express/.
模板查找
LiquidJS 仍然会去 root 指定的目录查找(参考 Render A Template File),也会去 Express.js 的 views
选项指定的目录里(上述例子中是 ./views
)去查找。例如你有这样的目录结构:
.
├── views1/
│ └── hello.liquid
└── views2/
└── world.liquid
LiquidJS 的模板 root 设置到了 views1
,Express.js 的 views 设置到了 views2
:
var { Liquid } = require('liquidjs');
var engine = new Liquid({
root: './views1/'
});
app.engine('liquid', engine.express());
app.set('views', './views2');
app.set('view engine', 'liquid');
hello.liquid
和 world.liquid
两个文件都可以找到并且成功渲染:
res.render('hello')
res.render('world')
缓存
直接把 cache 选项 设为 true
即可开启模板缓存,参考 缓存 一文。推荐在生产环境中开启缓存,可以用如下代码:
var { Liquid } = require('liquidjs');
var engine = new Liquid({
cache: process.env.NODE_ENV === 'production'
});
cache
还可以是一个数字表示最大缓存的模板数量,也可以是一个自定义的缓存实现,详情请参考 cache 选项。