Использую Nunjucks, доволен, как слон. Подключаю, как в приведённом
тут примере:
import Nunjucks from './nunjucks'; // Импортируем Nunjucks из нашего файла конфигурации (см. ниже)
{
test: /\.njk$/,
use: {
loader: 'html-loader',
options: {
preprocessor: (content, loaderContext) => {
let result;
try {
loaderContext.addContextDependency(loaderContext.context);
loaderContext.addDependency(PATHS.njkConfig); // PATHS.njkConfig - путь к файлу конфигурации
result = Nunjucks.renderString(content); // или `Nunjucks.render(loaderContext.resourcePath)`
} catch (error) {
loaderContext.emitError(error);
return content;
}
return result;
},
minimize: false
}
}
}
Файл конфигурации nunjucks.js.
import Nunjucks from 'nunjucks';
// PATHS.pages - путь к папке с файлами Nunjucks
const env = Nunjucks.configure(PATHS.pages, {
noCache: true
});
// Тут можно задавать всякие фильтры и глобальные переменные, например:
// const isArray = value => Array.isArray(value);
// env.addFilter('isArray', isArray);
// env.addGlobal('projectName', 'mySuperProject');
export default Nunjucks;