nunjucks-async-loader
TypeScript icon, indicating that this package has built-in type declarations

2.1.3 • Public • Published

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

License

MIT

Package Sidebar

Install

npm i nunjucks-async-loader

Weekly Downloads

5,622

Version

2.1.3

License

MIT

Unpacked Size

12.3 kB

Total Files

6

Last publish

Collaborators

  • pkolt