Use in Express.js | LiquidJS
LiquidJS is compatible to the express template engines. You can set liquidjs instance to the view engine option:
var
{
Liquid }
=
require
(
'liquidjs'
)
;
var
engine =
new
Liquid
(
)
;
app.
engine
(
'liquid'
,
engine.
express
(
)
)
;
app.
set
(
'views'
,
'./views'
)
;
app.
set
(
'view engine'
,
'liquid'
)
;
Working Demo
Here’s a working demo for LiquidJS usage in Express.js: liquidjs/demo/express/.
Template Lookup
The root option will continue to work as templates root, as you can see in Render A Template File. Additionally, the views
option in express.js (as shown above) will also be respected. Say you have a template directory like:
.
├── views1/
│ └── hello.liquid
└── views2/
└── world.liquid
And you’re setting template root for liquidjs to views1
and expressjs to 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'
)
;
Both of hello.liquid
and world.liquid
can be resolved and rendered:
res.
render
(
'hello'
)
res.
render
(
'world'
)
Caching
Simply setting the cache option to true will enable template caching, as explained in Caching. It’s recommended to enable cache in production environment, which can be done by:
var
{
Liquid }
=
require
(
'liquidjs'
)
;
var
engine =
new
Liquid
(
{
cache
:
process.
env.
NODE_ENV
===
'production'
}
)
;