Go to file
Valentin Silytuin b0767cb34b Initial commit 2021-10-04 22:19:14 +04:00
.editorconfig Initial commit 2021-10-04 22:19:14 +04:00
.gitignore Initial commit 2021-10-04 22:19:14 +04:00
.npmignore Initial commit 2021-10-04 22:19:14 +04:00
.prettierrc Initial commit 2021-10-04 22:19:14 +04:00
README.md Initial commit 2021-10-04 22:19:14 +04:00
index.js Initial commit 2021-10-04 22:19:14 +04:00
package.json Initial commit 2021-10-04 22:19:14 +04:00
yarn.lock Initial commit 2021-10-04 22:19:14 +04:00

README.md

babel-plugin-nunjucks

Плагин для babel-loader, позволяющий использовать шаблонизатор Nunjucks внутри JS-файлов.

Установка

yarn add -D @advdominion/babel-plugin-nunjucks

Использование

Код для преобразования должен находиться в переменных, имена которых указываются в массиве varNames, и быть шаблонным литералом. Пример:

const nunjucksTemplate = `
    {% from "./item.njk" import item as item %}

    <div class="items">
		{% for n in range(0, 10) %}
			{{item()}}
		{% endfor %}
    </div>
`;

Пример конфигурации Webpack:

[
	{
		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/',
								varNames: ['nunjucksTemplate'],
							},
						],
					],
				},
			},
		],
	},
];

Опции

  • templatesFolder - обязательный параметр, путь до папки с файлами шаблонов.
  • varNames - Массив, обязательный параметр. Имена переменных для преобразования кода шаблонизатора.

Важно: Параметр cacheDirectory в опциях babel-loader должен быть отключён.