GithubHelp home page GithubHelp logo

koz-art / gulp-project Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tsergeytovarov/gulp-project

0.0 1.0 0.0 172 KB

Базовый шаблон проекта на Gulp

Home Page: http://ourworkspace.ru

License: Other

JavaScript 36.37% CSS 58.91% HTML 4.72%

gulp-project's Introduction

Базовый шаблон проекта на Gulp

Шаблоном для начала работ над frontend проектами

Перед началом работы

Для работы шаблона необходимо установить nodejs (вместе с npm)

Установка шаблона

$ git clone https://github.com/tsergeytovarov/grunt-project.git project-name
$ cd project-name
$ npm install

По окончанию выполнения будут установлены все необходимые пакеты.

Задачи Gulp

  • $ gulp js - сборка JS
  • $ gulp less - компилиция LESS
  • $ gulp fonts - копирование шрифтов
  • $ gulp clean - очистка каталога build/
  • $ gulp webserver - запуск локального веб-сервера для livereload
  • $ gulp build - полная сборка проекта
  • $ gulp watch - запуск задачи webserver и отслеживания изменений
  • $ gulp default - запуск задачи watch

Общая концепция

  • src/ - каталог для размещения рабочих файлов (html, less, js, изображения)
  • build/ - каталог для размещения готовой верстки
  • design/ - каталог для локального хранения файлов макета.

Вся работа осуществляется в каталоге src/.

Концепции работы

Компиляция Less

Задача $ gulp less

Файл src/css/style.less является диспетчером подключений для всех прочих less-файлов.

Организация файлов проекта осуществляется по методологии MCSS.

При компиляции происходит объединение всех файлов, компиляция в CSS, форматирование стиля кодирования, добавление вендорных префиксов, минификация и запись sourcemaps. Итоговые файлы стилевых таблиц помещаются в каталог build/css (style.css, style.min.css, style.min.css.map)

Компиляция JavaScript

Задача $ gulp js

Файл src/js/vendor.js содержит все сторонние библиотеки и фреймворки. jQuery вшит автоматически.
Файл src/js/custom.js для написания собственных стилей.

При компиляции происходит объединение всех файлов, проверка на наличие ошибок (при этом исключаются из проверки файлы сторонних библиотек и проверяются только те, что написаны нами), минификация и запись sourcemaps. Итоговый файл помещается в каталог build/js (main.js, main.min.js, main.min.js.map)

Обработка файлов шрифтов

Задача $ gulp fonts

При обработке шрифты будут скопированы в каталог build/css/fonts.

Очистка каталога сборки

Задача $ gulp clean

При выполнении задачи полностью удаляется содержимое каталога build/ за исключением файла build/.gitignore

Полная сборка проекта

Задача $ gulp build

При запуске задачи последовательно выполняются задачи clean, html, js, less, fonts.

В итоге выполнения в каталоге build/ формируется полная сборка проекта.

Livereload и синхронизация между браузерами

Задача $ gulp webserver

При выполнении задачи запускается локальный веб-сервер BrowserSync и открыватся index.html проекта.

Подробнее о BrowserSync

Сервер использует каталог build/ в качестве корня проекта.

Отслеживание изменений

Задача $ gulp watch

При запуске сначала выполняется задача $ gulp webserver, затем при изменении или добавлении в каталоге src/ каких
либо файлов, автоматически запускается соответсвующая задача по их обработке.

gulp-project's People

Contributors

tsergeytovarov avatar

Watchers

KozArt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.