Въведение в Grunt, настройка на проект и изпълнение на задачи

въведение
GRUNT е система за автоматизация (напр. минимизиране и обединяване на файлове, проверка на грешки, премахване на регистрационни файлове, проследяване на промени в проекта, компилиране на SASS, LESS и др.).

Защо да използвате Grunt?

Защо да използвате програма за изпълнение на задачи (диспечер на задачи)?

Една дума - автоматизация. Вашата работа ще бъде намалена, когато изпълнявате задачи като минимизиране, компилиране, тестване и др. Ще ви е по-лесно да си вършите работата. След като го конфигурирате чрез Gruntfile (http://gruntjs.com/sample-gruntfile), всички горепосочени задачи ще бъдат изпълнени без никакви усилия от ваша страна.

Налични плъгини GRUNT

Налични плъгини GRUNT, на които да обърнете внимание:

  • Плъгин grunt-contrib-jshint(jshint) - проверява js кода.
  • Плъгинът grunt-contrib-concat(concat) е плъгин, който свързва файлове от един и същи тип (css,js) в един.
  • Плъгинът grunt-contrib-uglify (uglify) е минификатор, използван за минимизиране на js файлове.
  • Плъгинът grunt-contrib-cssmin (cssmin) е минификатор на CSS.
  • Плъгин Grunt-contrib-sass (sass) - конвертирайте SASS в CSS.
  • Плъгин grunt-contrib-watch (watch) - проследяване на промените във файловете.
  • Плъгин grunt-contrib-imagemin (imagemin) - оптимизация на изображението.
  • Плъгинът grunt-autoprefixer (autoprefixer) анализира CSS и добавя префикси на доставчик, използвайки данни от Can I Use.
  • grunt-express се използва за Livereload https://github.com/gruntjs/grunt-contrib-cssmin

Grunt и неговите добавки се инсталират и управляват чрез npm (мениджър на пакети Node.js). За справка (опресняване на паметта): Gruntfile пример - sample-gruntfile, конфигуриране на задачи - configuring-tasks.

Инсталирайте grunt: npm install -g grunt-cli

Това ще позволинамерете командата grunt в системния път и я изпълнете от всяка директория.

Работа със съществуващ проект

  • 1. Променете в основната директория на проекта
  • 2. Инсталирайте зависимостите на проекта с npm install
  • 3. Стартирайте Grunt с грухтене

Използването, опциите, възможните задачи за Grunt могат да бъдат намерени чрез командата grunt --help.

Подготовка на проекта

Gruntfile : Този файл се нарича Gruntfile.js и се използва за конфигуриране или дефиниране на задачи и зареждане на Grunt добавки. Когато в документацията се споменава Gruntfile, това означава Gruntfile.js или Gruntfile.coffee.

package.json

Можете да създадете package.json:

  • 1. npm init команда
  • 2. Започнете с примера по-долу и разширете спецификацията

Файлътpackage.json има свойство scripts, където могат да се дефинират скриптове. Тези скриптове ще помогнат за автоматизирането на някои процеси. Името на свойството в обекта scripts ще бъде името на скрипта, а стойността ще бъде командата, която сме въвели в терминала. В нашия случай транспилирахме помощния код на babel: "babel es2015.js -o es5.js" . След това в терминала ще бъде достатъчно да въведете командата: npm run build за да изпълните командата babel es2015.js -o es5.js.

Инсталиране на Grunt и gruntplugins (плъгини/зависимости)

Най-лесният начин да добавите Grunt и gruntplugins към съществуващ package.json е npm install --save-dev.

Например, това ще инсталира най-новата версия на Grunt към вашия проект, добавяйки я към devDependencies: npm install grunt --save-dev

Инсталирайте модула JSHint: npm install grunt-contrib-jshint --save-dev

Можете да инсталирате всички вече изброени зависимости във файла package.json с командата npm инсталиране.

Gruntfile се състои от следните части:

  • обвиваща функция
  • Настройка на проект и задача
  • Зареждане на добавки и задачи
  • Персонализирани задачи

Пример за Grunt файл

обвиваща функция

Всеки Gruntfile използва този основен формат; целият ви код трябва да бъде дефиниран в тази функция:

Настройка на проект и задача

Повечето задачи на Grunt разчитат на данни, които се предават като обект към метода grunt.initConfig (grunt.initconfig). Пример за конфигуриране на задачата uglify, настройките за тази задача са зададени в свойството със същото име.

Обърнете внимание на използването на данни от JSON файл.

Зареждане на добавки и задачи

Повечето задачи (минификация, компилация, тестване, анализ на код) са налични като плъгини за грухтене. След като плъгинът е посочен като зависимост в package.json и е инсталиран чрез npm install, той трябва да бъде включен във вашия Gruntfile с проста команда:

Персонализирани задачи

Можете да конфигурирате Grunt да изпълнява една или повече задачи по подразбиране, като дефинирате задача по подразбиране. В следващия пример командата grunt ще изпълни задачата uglify (която също е същата като командите по подразбиране grunt uglify и grunt). В масив могат да бъдат посочени произволен брой задачи:

Ако вашият проект изисква задачи, които не са предоставени от приставката Grunt, можете да дефинирате задачата си направо в Gruntfile.