Use in Express.js

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();

// register liquid engine
app.engine('liquid', engine.express()); 
app.set('views', './views');            // specify the views directory
app.set('view engine', 'liquid');       // set liquid to default
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');            // specify the views directory
app.set('view engine', 'liquid');       // set liquid to default

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'
});