nunjucks-async-loader
v2.1.3
Published
Asynchronous loader templates nunjucks
Downloads
8,957
Readme
nunjucks-async-loader
Asynchronous loader templates nunjucks.
Supports ESM modules 👍
Why You Need?
nunjucks.FileSystemLoader loads templates synchronously. See this issue.
Installation
$ npm i nunjucks-async-loader
Usage
import express from 'express';
import nunjucks from 'nunjucks';
import { FileSystemAsyncLoader } from 'nunjucks-async-loader';
const app = express();
const isDev = app.get('env') === 'development';
const loader = new FileSystemAsyncLoader('views', {
watch: isDev, // (default: false) reload templates when they are changed.
noCache: isDev // (default: false) never use a cache and recompile templates each time.
});
const env = new nunjucks.Environment(loader);
env.express(app);
app.get('/', function(req, res) {
res.render('index.html');
});
app.listen(3000);
TypeScript
If you're having trouble importing a module into TypeScript, try adding settings to tsconfig.json
:
{
"compilerOptions": {
"esModuleInterop": true,
"allowSyntheticDefaultImports": true
}
}
Tests
To run the test suite, first install the dependencies, then run npm test
:
$ npm ci
$ npm test