Jump to content

Грант (программное обеспечение)

хрюканье
Оригинальный автор(ы) Я немец
Разработчик(и) Бен Алман, Тайлер Келлен, Кайл Робинсон Янг, Влад Филиппов, Синдре Сорхус, Исаак Дюразо, Джаррод Оверсон, Тим Браньен, Йорн Цефферер, Джеймс Смит, Дэйв Геддес
Первоначальный выпуск 4 апреля 2016 г .; 8 лет назад ( 04.04.2016 ) [1]
Стабильная версия
1.4.1 / 22 апреля 2021 г .; 3 года назад ( 22 апреля 2021 ) [2]
Репозиторий github /gruntjs /ворчание
Написано в JavaScript
Операционная система Linux , MacOS , Windows
Платформа Node.js
Доступно в Английский
Тип Task Runner, инструмент сборки
Лицензия МОЯ лицензия [3] [4]
Веб-сайт gruntjs

Grunt — это JavaScript средство запуска задач , инструмент, используемый для автоматического выполнения частых задач, таких как минимизация , компиляция , модульное тестирование и анализ . Он использует интерфейс командной строки для запуска пользовательских задач, определенных в файле (известном как Gruntfile). и написан на Node.js. Grunt был создан Беном Алманом Он распространяется через npm . По состоянию на октябрь 2022 года в экосистеме Grunt было доступно более 6000 плагинов. [5]

В число компаний и проектов, использующих Grunt, входят Adobe Systems , jQuery , Twitter , Mozilla , Bootstrap , Cloudant , Opera , WordPress , Walmart и Microsoft . [5]

Первоначально Grunt был создан Беном Алманом в 2012 году как эффективная альтернатива для упрощения написания и поддержки набора задач процесса сборки JavaScript в одном огромном файле. проектов JavaScript на основе задач Он был разработан как инструмент командной строки для создания . [6]

Grunt в основном используется для автоматизации задач, которые необходимо выполнять регулярно. Существуют тысячи плагинов, которые можно установить и использовать непосредственно для выполнения некоторых часто используемых задач. Одной из наиболее желательных особенностей Grunt является то, что он обладает широкими возможностями настройки, т. е. позволяет разработчикам добавлять, расширять и изменять пользовательские задачи в соответствии со своими личными потребностями; каждая задача имеет набор параметров конфигурации, которые может установить пользователь. Более того, Grunt предлагает возможность определять собственные задачи, которые могут объединять несколько существующих задач в одну или добавлять совершенно новые функции. [7]

Основные понятия

[ редактировать ]

Интерфейс командной строки

[ редактировать ]

(CLI) Grunt Интерфейс командной строки можно установить глобально через npm . Выполнение grunt Команда загрузит и запустит версию Grunt, локально установленную в текущем каталоге. Следовательно, мы можем хранить разные версии Grunt в разных папках и запускать каждую по своему усмотрению. [5]

Чтобы использовать Grunt в проекте, в корневом каталоге необходимо создать два конкретных файла, а именно package.json и Gruntfile.

  • package.json — содержит метаданные проекта, включая имя, версию, описание, авторов, лицензии и его зависимости (плагины Grunt, необходимые проекту). Все зависимости перечислены либо в dependencies или devDependencies раздел.
  • Gruntfile — действительный файл JavaScript или CoffeeScript с именем «Gruntfile.js» или «Gruntfile.coffee», который содержит код для настройки задач, загрузки существующих плагинов и/или создания пользовательских задач.

Задачи — это модули, выполняющие определенную работу. Они определены в файле Gruntfile.

Разработчики могут загружать предопределенные задачи из существующих плагинов Grunt и/или писать собственный код для определения собственных задач в зависимости от своих требований. После определения эти задачи можно запускать из командной строки, просто выполнив grunt <taskname>. Если <taskname> определенный в Gruntfile, имеет значение «по умолчанию», а затем просто выполняется grunt будет достаточно.

Ниже приведен пример файла Gruntfile, написанного на JavaScript, который показывает, как загружать плагины, создавать собственные задачи и настраивать их:

module.exports = function(grunt) {  // Task configuration  grunt.initConfig({    taskName1: 'Task1 Configuration',    taskName2: 'Task2 Configuration'  });  // Loads plugins  grunt.loadNpmTasks('pluginName1');  grunt.loadNpmTasks('pluginName2');  // Custom tasks  grunt.registerTask('customTaskName1', 'Custom task description', function(taskParameter) {    // Custom statements  });  // Combining multiple tasks to a single task  grunt.registerTask('customTaskName2', ['taskName1', 'customTaskName1']);  // Default task - runs if task name is not specified  grunt.registerTask('default', ['customTaskName2']);};

В приведенном выше примере выполнение grunt команда будет запущена <customtaskName2> который был определен выше как комбинация обоих <taskName1> и <customTaskName1>.

Плагины — это многократно используемый код, определяющий набор задач. Каждый плагин внутри содержит каталог задач с файлами JavaScript, которые имеют тот же синтаксис, что и Gruntfile. Большинство плагинов Grunt публикуются с ключевым словом gruntplugin[8] в npm и с префиксом grunt. Это помогает Grunt отображать все плагины в списке плагинов Grunt . Плагины, официально поддерживаемые Grunt, имеют префикс grunt-contrib[8] и также отмечены звездочкой в ​​списке плагинов. Некоторые популярные плагины включают grunt-contrib-watch, grunt-contrib-clean, grunt-contrib-uglify.

Разработчики могут даже создавать свои собственные плагины Grunt, используя grunt-init плагин и опубликуйте их в npm, используя npm publish команда.

Преимущества

[ редактировать ]

Ниже приведены некоторые преимущества использования Grunt:

  • Все средства запуска задач обладают следующими свойствами: согласованность, результативность, результативность, повторяемость и т. д.
  • Доступ ко множеству предопределенных плагинов, которые можно использовать для работы с задачами JavaScript и статическим контентом.
  • Позволяет пользователям настраивать задачи с помощью предопределенных плагинов.
  • Предпочитает конфигурационный подход к кодированию.
  • Позволяет пользователям добавлять свои собственные плагины и публиковать их в npm .

Сравнение

[ редактировать ]

Ant или Apache Ant — это Java на основе инструмент сборки . В Ant имеется чуть больше сотни встроенных задач, которые лучше подходят для проектов со структурой сборки Java. Для написания собственного кода в Ant пользователи должны написать файл JAR и ссылаться на него из XML . Это добавило бы ненужных сложностей проектам, которые сами по себе не требуют Java. Конфигурации сборки Ant перечислены в формате XML, а не в формате JSON . [7]

Rake позволяет разработчикам определять задачи в Ruby . В Rake нет концепции плагинов или предопределенных задач, что означает, что все необходимые действия должны быть записаны и затем выполнены. Это делает разработку дорогостоящей по сравнению с Grunt, который имеет большой набор повторно используемых плагинов. [7]

Gulp.js — это инструмент запуска задач на основе JavaScript, похожий на Grunt, поскольку оба имеют модульную архитектуру и основаны на npm . Задачи Gulp определяются кодом, а не конфигурацией. Gulp быстрее, чем Grunt. Grunt использует временные файлы для передачи результатов от одной задачи к другой, тогда как в Gulp файлы передаются между задачами. [7]

См. также

[ редактировать ]
  1. ^ «Дата выпуска версии 1.0.0» . Проверено 31 декабря 2020 г.
  2. ^ «Релизы · gruntjs/grunt» . Проверено 16 августа 2022 г.
  3. ^ «Файл ЛИЦЕНЗИИ на GitHub» . Проверено 31 декабря 2020 г.
  4. ^ «Поле лицензии от grunt — npm» . Проверено 31 декабря 2020 г.
  5. ^ Jump up to: а б с «Grunt: средство выполнения задач JavaScript» . gruntjs.com . Проверено 14 сентября 2016 г.
  6. ^ «Представляем Grunt — открытый исходный код, производительность, инструменты и рабочий процесс — Bocoup» . bocoup.com . Проверено 14 сентября 2016 г.
  7. ^ Jump up to: а б с д Крайер, Джеймс (2015). Про Grunt.js . Апресс. п. 1. ISBN  978-1-4842-0013-1 .
  8. ^ Jump up to: а б Пиллора, Хайме (2014). Начало работы с Grunt: средство выполнения задач JavaScript . Livery Place 35 Livery Street Birmingham B3 2PB, Великобритания: Packt Publishing Ltd. ISBN  978-1-78398-062-8 . {{cite book}}: CS1 maint: местоположение ( ссылка )

Дальнейшее чтение

[ редактировать ]
  • Крайер, Джеймс (2015). Про Grunt.js . Апресс. ISBN  978-1-4842-0013-1 .
  • Пиллора, Джейми (2014). Начало работы с Grunt: средство выполнения задач JavaScript . Packt Publishing Ltd. ISBN  978-1-78398-062-8 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 278f1ef06db6c21bc050002731640a90__1709413380
URL1:https://arc.ask3.ru/arc/aa/27/90/278f1ef06db6c21bc050002731640a90.html
Заголовок, (Title) документа по адресу, URL1:
Grunt (software) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)