Здравствуйте. Требуется создать gulpfile.js по ТЗ. Требования:
Иерархия файлов: Картинку на иерархию прикрепляю.
2 основных папок app и src. В src будет разработка, готовые файлы получаем в app. При ЛЮБЫХ изменениях (изменение имени файла/папки, удаление файла/папки) в папке src, все изменения должны немедленно отображаться в папке app. Надо настроить для этого функцию watch таким образом, чтобы не приходилось перезапустить его для получения изменений.
Используемые технологии: Использовать будем sass (gulp-sass а не gulp-ruby-sass) и jade. Соответственно надо их установить, настроить, чтобы созданные файлы автоматически компилировались и разместились по своим местам в папке app и отображались в browser-sync.
Теперь по очереди.
При компиляции sass в css в папке app/css должны сохранятся и минифицированный и НЕ минифицированный файлы.
При компиляции jade в html должны компилироваться только те файлы .jade которые в своем имени не имеют префикса "_". То есть если создается файл main.jade он автоматически компилируется в .html файл и размещается в папке app/. А если название файла _main.jade -> ничего не компилируется.
Для автоматического создания спрайтов нужно настроить плагин gulp-spritesmith ну и дописать миксины в файле _sprites.sass, можете подсмотреть отсюда github.com/coderiver/gulp . Все иконки для спрайтов кидаем в src/img/sprites, на выходе получаем готовый файл sprite.png в app/img/sprites. Остальные изображения которые будут в папке src/img -> просто перемещаем в папку app/img без сжатия и тд. НО если с папки src/img удалить/переименовать любую картинку – все это должно происходить и в папке app/img.
Скрипты: Все скрипты в папке src/scripts сжимаем в один файл, сохраняем в app/js в двух версиях – минифицированный и НЕ минифицированный.
Все добавленные папки и файлы в папке src/fonts должны копироваться в папку app/fonts.
Вроде все. Для человека который работает с gulp, все это настроить дело пары минут, пожалуйста, не ломайте цену. Основная проблема которую я здесь описала это синхронизация удаления/переименования файлов в папках app и src, так чтобы функция watch отследила это все и делала все сама.
Теги: разработать сайт, создать личный сайт, создать одностраничный сайт, нужно сделать сайт, лучшие разработчики, нужно создать сайт, требуется разработчик