В этой документации мы расскажем вам, как использовать библиотеку js-beautify для форматирования HTML кода.
js-beautify - это библиотека на JavaScript, которая позволяет автоматически форматировать код HTML, CSS и JavaScript. Это полезно для улучшения читабельности кода и упрощения его дальнейшей поддержки.
Установка
js-beautify можно установить с помощью npm (Node Package Manager):
npm install js-beautify
Использование
Пример использования js-beautify для форматирования HTML кода:
const beautify = require('js-beautify').html;
const uglyHtml = '<html><head><title>Test</title></head><body><h1>Hello World</h1></body></html>';
const beautifiedHtml = beautify(uglyHtml);
console.log(beautifiedHtml);
В этом примере мы используем метод html из библиотеки js-beautify, чтобы отформатировать неформатированный HTML код, который мы передали в переменную uglyHtml. Отформатированный код сохраняется в переменной beautifiedHtml, которая затем выводится в консоль.
Конфигурация
js-beautify позволяет настраивать различные параметры форматирования, такие как отступы, размер отступа, использование кавычек, расположение тегов и т.д.
Пример настройки параметров:
const beautify = require('js-beautify').html;
const uglyHtml = '<html><head><title>Test</title></head><body><h1>Hello World</h1></body></html>';
const options = {
indent_size: 4,
indent_char: ' ',
wrap_attributes: 'auto',
wrap_attributes_indent_size: 4
};
const beautifiedHtml = beautify(uglyHtml, options);
console.log(beautifiedHtml);
В этом примере мы используем объект options для установки параметров форматирования. В данном случае мы устанавливаем размер отступа в 4 пробела, задаем использование пробелов в качестве символа отступа, автоматически переносим атрибуты на новую строку и устанавливаем размер отступа для перенесенных атрибутов в 4 пробела.
Другие параметры форматирования могут быть установлены с помощью объекта опций.
Опции библиотеки js-beautify
В этом списке представлены основные опции библиотеки js-beautify для форматирования HTML кода и их краткое пояснение.
indent_size: число пробелов, используемых для отступа. По умолчанию равно 4.indent_char: символ, используемый для отступа. По умолчанию используется пробел.indent_with_tabs: если установлено вtrue, отступ будет производиться с помощью символов табуляции, в противном случае используются пробелы. По умолчанию установлено вfalse.eol: символ перевода строки. По умолчанию используется символ\n.end_with_newline: если установлено вtrue, в конце файла будет добавлен символ перевода строки. По умолчанию установлено вfalse.indent_inner_html: если установлено вtrue, содержимое элементов будет отформатировано со сдвигом относительно элемента-родителя. По умолчанию установлено вfalse.preserve_newlines: если установлено вtrue, пустые строки между элементами будут сохранены. По умолчанию установлено вtrue.max_preserve_newlines: максимальное количество сохраняемых пустых строк между элементами. По умолчанию установлено в2.indent_handlebars: если установлено вtrue, шаблоны Handlebars будут отформатированы. По умолчанию установлено вfalse.wrap_line_length: максимальная длина строки перед переносом содержимого элемента на новую строку. По умолчанию установлено в0, что означает отключение переноса строк.wrap_attributes: режим переноса атрибутов на новую строку. Доступны следующие значения:auto(автоматический выбор),force(все атрибуты будут перенесены на новую строку),force-aligned(все атрибуты будут выровнены),force-expand-multiline(многострочные атрибуты будут перенесены на новую строку). По умолчанию установлено вauto.wrap_attributes_indent_size: количество пробелов, используемых для отступа при переносе атрибутов на новую строку. По умолчанию равно значению параметраindent_size.unformatted: список тегов, содержимое которых не будет отформатировано. По умолчанию содержит тегиscript,style,pre,textarea.content_unformatted: список тегов, содержимое которых не будет от
Реалистичные примеры использования js-beautify
Вот несколько реалистичных примеров использования js-beautify для форматирования HTML кода:
Форматирование HTML-кода для вашего редактора
При разработке веб-страниц можно использовать js-beautify, чтобы форматировать неформатированный HTML код для улучшения читаемости и поддержки. Например, вот как вы можете использовать js-beautify в своей IDE (Integrated Development Environment) для автоматического форматирования кода при сохранении:
const beautify = require('js-beautify').html;
const fs = require('fs');
const options = {
indent_size: 2,
wrap_attributes: 'auto',
end_with_newline: true,
};
fs.watch('./index.html', function (event, filename) {
if (filename) {
fs.readFile('./index.html', function (err, data) {
if (err) {
throw err;
}
const beautifiedHtml = beautify(data.toString(), options);
fs.writeFile('./index.html', beautifiedHtml, function (err) {
if (err) {
throw err;
}
console.log('HTML файл отформатирован и сохранен.');
});
});
}
});
В этом примере мы используем библиотеку fs из Node.js для отслеживания изменений файла index.html. Когда файл сохраняется, мы считываем его содержимое, форматируем его с помощью js-beautify и сохраняем отформатированный код в тот же файл.
Тестирование веб-страниц
js-beautify может использоваться для проверки того, что веб-страницы отображаются правильно в различных браузерах. Например, вот как вы можете использовать js-beautify и puppeteer для автоматического тестирования веб-страниц:
const beautify = require('js-beautify').html;
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
const pageHtml = await page.content();
const beautifiedHtml = beautify(pageHtml, { indent_size: 2 });
console.log(beautifiedHtml);
await browser.close();
})();
В этом примере мы используем puppeteer для загрузки веб-страницы https://example.com и получения ее HTML-кода. Затем мы используем js-beautify, чтобы отформатировать HTML-код, и выводим его в консоль. Это может быть полезно при отладке и тестировании веб-страниц.
Конвертация HTML кода
js-beautify может использоваться для конвертации неформатированного HTML кода в форматированный. Например, вот как вы можете использовать js-beautify для конвертации HTML кода из файла index-ugly.html в форматированный код и сохранения его в файл index-beautiful.html:
const beautify
const beautify = require('js-beautify').html;
const fs = require('fs');
fs.readFile('./index-ugly.html', function (err, data) {
if (err) {
throw err;
}
const beautifiedHtml = beautify(data.toString(), { indent_size: 2 });
fs.writeFile('./index-beautiful.html', beautifiedHtml, function (err) {
if (err) {
throw err;
}
console.log('HTML файл успешно отформатирован и сохранен.');
});
});
В этом примере мы считываем содержимое файла index-ugly.html, отформатировываем его с помощью js-beautify, сохраняем отформатированный код в файл index-beautiful.html и выводим сообщение об успешном сохранении.
Все эти примеры демонстрируют различные способы использования js-beautify для форматирования HTML кода в реальных сценариях. Это может быть полезно при разработке веб-страниц, тестировании и отладке, а также конвертации HTML кода в удобочитаемый формат.
Комментарии (0)
Не писать ответ