babel-plugin-nunjucks/README.md

71 lines
2.0 KiB
Markdown
Raw Permalink Normal View History

2021-10-04 21:19:14 +03:00
# babel-plugin-nunjucks
Плагин для [babel-loader](https://github.com/babel/babel-loader), позволяющий использовать шаблонизатор [Nunjucks](https://mozilla.github.io/nunjucks/) внутри JS-файлов.
## Установка
```bash
yarn add -D @advdominion/babel-plugin-nunjucks
```
## Использование
2022-12-15 13:35:15 +03:00
Используются [Tagged templates](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#tagged_templates) с тегом `njk`:
2021-10-04 21:19:14 +03:00
```js
2022-12-15 13:35:15 +03:00
njk`
2021-10-04 21:19:14 +03:00
{% from "./item.njk" import item as item %}
<div class="items">
{% for n in range(0, 10) %}
{{item()}}
{% endfor %}
</div>
`;
```
Пример конфигурации Webpack:
```js
[
2022-02-01 19:07:08 +03:00
{
test: /\.js$/,
exclude: [/mocks\.js$/],
use: [
{
loader: 'babel-loader',
options: {
cacheDirectory: true,
},
},
],
},
{
test: /mocks\.js$/,
use: [
{
loader: 'babel-loader',
options: {
compact: false,
plugins: [
[
'@advdominion/babel-plugin-nunjucks',
{
templatesFolder: 'src/templates/',
},
],
],
},
},
],
},
2021-10-04 21:19:14 +03:00
];
```
## Опции
2022-12-15 13:35:15 +03:00
- `templatesFolder` - строка, обязательный параметр. Путь до папки с файлами шаблонов
2022-08-28 23:09:58 +03:00
- `globals` - массив, необязательный параметр. Глобальные переменные для Nunjucks (например, `[{name: "message", value: "Hello, world!"}]`)
2021-10-04 21:19:14 +03:00
**Важно:** Параметр `cacheDirectory` в опциях babel-loader должен быть отключён.