Полный цикл в digital

Live Server

Используемые решения:

  1. browser-sync

Установим Live Server, который позволит нам использовать возможности локального сервера и автоматически обновлять страницы при изменениях в файлах.

Давайте установим browser-sync командой:

npm i browser-sync --save-dev

Для начала определим константы в gulpfile.js, необходимо указать create() для создания нового подключения:

gulpfile.js// определяем константы Gulp
const { src, dest, parallel, series, watch } = require('gulp');
// подключаем Browsersync
const browserSync = require('browser-sync').create();

Напишем функцию, которая определит логику работы browser-sync:

gulpfile.js// определяем логику работы Browsersync
function browsersync() {
  // инициализация Browsersync
  browserSync.init({ 
    // указываем папку сервера
    server: { baseDir: 'app/' }, 
    // отключаем уведомления
    notify: false, 
    // отвечает за режим работы: true (подключение к интернет) или false (без подключения интернет)
    online: true 
  })
}

Для того, чтобы получить готовый к запуску таск, функцию или комбинацию функций необходимо экспортировать, далее допишем:

gulpfile.js// экспортируем функцию browsersync() как таск browsersync, значение после знака = это имеющаяся функция
exports.browsersync = browsersync;

Запускаем таск командой:

gulp browsersync

Запуск в автоматическом режиме

Давайте сделаем так, чтобы при сохранении index.html, происходило автоматическое обновление страницы в браузере. Для этого создадим новую функцию startwatch(), которая запустит наблюдение за изменениями файлов. Данную функию позже мы добавим в дефолтный экспорт для запуска вотчинга при старте:

gulpfile.js// автозапуск
function startwatch() {
  // мониторим все файлы html в проекте и вызываем функцию browsersync(), если есть изменения
  watch(["app/**/*.html"], browsersync);
}

Для того, чтобы наша функция startwatch() заработала и начала выполнять полезную работу, ее необходимо добавить в дефолтный экспорт:

gulpfile.js// экспортируем дефолтный таск с нужным набором функций
exports.default = parallel(startwatch);

Полный gulpfile.js

gulpfile.js// определяем константы Gulp
const { src, dest, parallel, series, watch } = require("gulp");
// подключаем Browsersync
const browserSync = require("browser-sync").create();
// автозапуск
function startwatch() {
  // мониторим все файлы html в проекте и вызываем функцию browsersync(), если есть изменения
  watch(["app/**/*.html"], browsersync);
}
// определяем логику работы Browsersync
function browsersync() {
  // инициализация Browsersync
  browserSync.init({
    // указываем папку сервера
    server: { baseDir: "app/" },
    // отключаем уведомления
    notify: false,
    // отвечает за режим работы: true (подключение к интернет) или false (без подключения интернет)
    online: true,
  });
}
// экспортируем функцию browsersync() как таск browsersync, значение после знака = это имеющаяся функция
exports.browsersync = browsersync;
// экспортируем дефолтный таск с нужным набором функций
exports.default = parallel(startwatch);

Запускаем таск командой:

gulp
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг