Немного вступления
Около года я пользовался онлайн редактором кода — JSFiddle, он отлично подходит для написания различных элементов кода на HTML, CSS и JavaScript, а также разработки функционала сайтов и приложений с использованием библиотек и других языков. Но совсем недавно я решил попрактиковаться в работе с HAML и PUG, поскольку они довольно востребованы на рынке и знаительно ускоряют работу веб-разработчика. И здесь я столкнулся с проблемой — JSFiddle не поддерживает эти языки. Вернее поддерживает только HAML. В веб-серфинге я нашел другой полезный ресурс — CodePen.io. Это не только очень удобный редактор, с поддержкой различных языков и большим количеством полезных функций, но еще и является неким сообществом, социальной сетью для веб-разработчиков. И самое главное в данной теме — он поддерживает PUG.
Pug — это препроцессор для html, шаблонизатор, написанный на javascript.
Если вы не знаете JavaScript, не спешите пугаться. Pug довольно прост. Сайт шаблонизатора написан на английском языке, но у вас не должно возникнуть трудностей с пониманием написанного. Я изучил документацию и за пару недель освоил простейшие функции, которые необходимы мне для работы. Сделав несколько маленьких страничек и проектов на pug, я влюбился в него.
Так как мне удобнее работать в Visual Studio Code (далее, Вижл студия или Вижла), мне, естественно, захотелось опробовать работу pug в ней. Однако, простого решения я не нашел. Подходящих расширений у этой IDE (Интегрированная среда разработки (англ. Integrated Development Environment)) пока нет. Здесь на помощь приходит Gulp. Давайте перейдем к разбору работы и настройке программы.
Как настроить pug в vs code при помощи Gulp?
Прежде всего вам необходимо установить Node.js и настроить свой проект, создав все необходимые файлы и папки.
Вам необходимо создать минимум три файла и папки:
- pug
- index.pug
- gulpfile.js
- .gitignore
Я так же создал папку со стилями и разместил в ней файл style.scss, который позже преобразую в css и буду использовать на страницы.
- style
- style.scss
- style.css
- style.css.map
Далее работаем по пунктам
- Переходим в консоль Вижлы и вводим команду
npm init
. Таким образом вы автоматически создадите файл package.json, в котором будет указана информация о вашем проекте и подключенные npm пакеты. - Устанавливаем сам галп при помощи команды
npm install --save-dev gulp
- После установки, у вас в проекте появится новая папка с npm пакетами
node_modules
. Необходимо ее скрыть при публикации вашего проекта. Для этого, откройте ранее созданный файл.gitignore
, напишите в нем строкуnode_modules
и сохраните файлик. Если вы обратите внимание, в файле package.json появится установленный вами пакет:
"devDependencies": {
"gulp": "^4.0.0",
-
Если у вас появился файл
package-lock.json
, внесите его в тот же.gitignore
на новой строке. -
Далее, переходим на страничку пакета PUG, копируем код
npm i gulp-pug
и добавляем--save-dev
. -
Переходим к файлу
gulpfile.js
-
В документации gulp-pug все просто и понятно написано. Копируем оттуда код и вставляем в наш файл.
- Я еще использую пакет для переименования, на случай, если мне припрет изменить название оригинального файла. Установить его можно так же, в командной строке вводим
npm i gulp-rename --save-dev
и жмем Enter.
В конечном итоге, ваш gulpfile.js должен выглядеть таким образом:
const
gulp = require('gulp'),
pug = require('gulp-pug'),
rename = require("gulp-rename");
gulp.task('pug-compile', function buildHTML() {
return gulp.src('./pug/*.pug')
.pipe(pug({
pretty: true
}))
.pipe(rename('./index.html'))
.pipe(gulp.dest('./'))
});
Вот и все. Теперь вы можете писать код в файле .pug и переводить его в html формат. По завершению работы или для проверки введите в командной строке вот команду и нажмите Enter. У вас в коневой папке появится файл index.html с вашим содержимым.
Если у вас возникли вопросы, посмотрите репозиторий с файлами на GitHub и/или задайте вопросы ниже в комментариях.