This commit is contained in:
2026-02-12 20:30:06 +04:00
parent 8cf1ddbaf5
commit 1a8f77622b
3 changed files with 10 additions and 10 deletions

View File

@@ -64,7 +64,7 @@ njk`
## Опции
- `templatesFolder` - строка, обязательный параметр. Путь до папки с файлами шаблонов
- `globals` - массив, необязательный параметр. Глобальные переменные для Nunjucks (например, `[{name: "message", value: "Hello, world!"}]`)
- `templatesFolder` - строка, обязательный параметр. Путь до папки с файлами шаблонов
- `globals` - массив, необязательный параметр. Глобальные переменные для Nunjucks (например, `[{name: "message", value: "Hello, world!"}]`)
**Важно:** Параметр `cacheDirectory` в опциях babel-loader должен быть отключён.

View File

@@ -1,19 +1,19 @@
import nunjucks from 'nunjucks';
const babelPluginNunjucks = ({types: t}) => {
const babelPluginNunjucks = ({ types: t }) => {
return {
pre(state) {
const options = state.opts.plugins[0].options;
this.njkenv = new nunjucks.Environment(new nunjucks.FileSystemLoader(options.templatesFolder));
if (options.globals) {
for (const {name, value} of options.globals) {
for (const { name, value } of options.globals) {
this.njkenv.addGlobal(name, value);
}
}
},
visitor: {
TaggedTemplateExpression(path) {
if (path.get('tag').isIdentifier({name: 'njk'})) {
if (path.get('tag').isIdentifier({ name: 'njk' })) {
const render = this.njkenv.renderString(path.node.quasi.quasis[0].value.raw);
path.replaceWith(t.stringLiteral(render));
}