Инициализация NPM-пакета
Перед тем как инициализировать NPM-пакет важно отметить, что для его грамотной и удобной разработки, лучше всего использовать какой-нибудь Git-репозиторий, например Github или Gitlab. Теперь в терминале, находясь в директории вашего NPM-пакета, нужно провести его инициализацию выполнив следующую команду:. Вам будут заданы вопросы про ваш NPM-пакет, вы можете ответить на них сразу или пропустить, нажав Enter
После ответов на вопросы, в директории пакета создаться файл , в нем будет прописана основная информация о вашем пакете
Вам будут заданы вопросы про ваш NPM-пакет, вы можете ответить на них сразу или пропустить, нажав Enter. После ответов на вопросы, в директории пакета создаться файл , в нем будет прописана основная информация о вашем пакете.
#
package.json
Вы можете редактировать файл вручную. Вот основные и самые важные его настройки:
- name — Имя, по которому пакет будет доступен в NPM.
- description — Описание пакета.
- author — Автор пакета.
- license — Лицензия распространения пакета.
- version — Версия пакет (будет сгенерирована автоматически).
Перед тем как создавать пакет, убедитесь что такого названия в базе NPM еще нету. Для этого воспользуйтесь поиском на сайте, вбейте название которое придумали и проверье уникальность.
#
README.md
После инициализация проекта, правилом хорошего тона будет создание документации по установке и использованию вашего проекта. В корне создайте файл и пропишите все что может быть полезно другим разработчикам (да и вам) по управлению вашим проектом.
#
Начало работы
Логично начать с создания директории для нового проекта.
Я буду работать над сайтом HeiHei.ru
поэтому назову папку heihei
mkdir heihei
Перейдём в созданную директорию
cd heihei
Убедимся, что в новой папке пусто
ls
Теперь выполним важнейшую для будущей разработки команду
$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
package name: (my-project)
npm предложит заполнить информацию о проекте. Появятся следующие поля:
name: (heihei)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
Можно заполнить все поля, но для простоты пока просто нажмем несколько раз подряд Enter
Если предварительно привязать директорию к удалённому репозиторию
GIT
то npm при инициализации это увидит и сам заполнит пункт git repository.
Возможно, это и есть самый простой и правильный путь, если Вы планируете работать дальше с GIT.
В конце должно появиться подобное сообщение. Нажимаем Enter ещё раз.
About to write to C:\Users\ao\Desktop\Sites\heihei\package.json:
{
«name»: «heihei»,
«version»: «1.0.0»,
«description»: «»,
«main»: «index.js»,
«scripts»: {
«test»: «echo \»Error: no test specified\» && exit 1″
},
«author»: «»,
«license»: «ISC»
}
Is this OK? (yes)
Проверим, что появилось в нашей папке после инициализации
ls
package.json
package.json
это файл, который будет хранить в себе список установленных пакетов и их версии.
Сразу после инициализации он содержит только информацию о проекте
В мире
Python
похожие задачи решают
venv
и
freeze
Установка пакетов npm
Существует два способа установки пакетов npm: локально и глобально.
Если вы хотите использовать пакет из своего модуля с помощью чего-нибудь вроде
require от Node.js, то вам нужно установить пакет локально командой:
npm install <имя_пакета>
1 | npm install <имя_пакета> |
Эта команда создаст каталог «node_modules» в текущем рабочем каталоге и скачает туда указанный пакет.
Для проверки этой команды вы можете выполнить:
npm install lodash
1 | npm install lodash |
Затем проверьте, что у вас появился каталог «node_modules» с подкаталогом «lodash».
Если у вас не было файла «package.json» в текущем каталоге, то устанавливается последняя версия, если же файл «package.json» присутствует, то устанавливается последняя версия, удовлетворяющая правилам в этом файле.
Использование файла «package.json»
Лучший способ управления локально установленными пакетами — это использование файла «package.json», который должен иметь как минимум
name и
version.
Поле
name должно состоять из строчных букв английского алфавита, подчёркиваний и тире. Оно определяет имя вашего модуля.
Поле
version определяет версию в формате x.x.x.
Пример:
JavaScript
{
«name»: «my-awesome-package»,
«version»: «1.0.0»
}
1 |
{ «name»»my-awesome-package», «version»»1.0.0» } |
Создать «package.json» можно командой с консоли:
npm init
1 | npm init |
Эта команда проведёт вас через процесс создания «package.json» в стиле вопрос-ответ.
Обновление NPM-пакета
Без обновлений никуда. Для того чтобы правильно обновить пакет, вам нужно:
- Внести изменения в код.
- Обновить версию пакета командой .
- Опубликовать новую версию пакета командой .
Правильное версионирование пакета поможет разработчикам, которые используют ваш пакет понять, насколько критические изменения были внесены.
#
Команда , увеличит версию пакета например, с 1.0.0 до 1.0.1. Незначительные исправления мелких ошибок.
#
npm version minor
Команда , увеличит версию пакета например, с 1.0.0 до 1.1.0. Добавления нового функционала, который не влияет на уже существующий функционал.
#
npm version major
Команда , увеличит версию пакета например, с 1.0.0 до 2.0.0. Модификация пакета без обратной совместимости с предыдущей версией. Разработчик поймет что простое обновление пакета может что-то сломать и изучит вопрос правильного обновления на новую мажорную версию.
#
6 ответов
Обновление npm 5:
Начиная с npm 5.0.0 , установленные модули по умолчанию добавляются как зависимости, поэтому опция не больше нужно Другие варианты сохранения все еще существуют и перечислены в документации для .
Исходный ответ:
До версии 5 NPM по умолчанию просто устанавливал пакет в . Когда вы пытались установить зависимости для вашего приложения / модуля, вам необходимо сначала установить их, а затем добавить их (вместе с соответствующим номером версии) в раздел вашего .
Опция инструктировала NPM автоматически включать пакет в секцию вашего , что экономит вам дополнительный шаг.
Кроме того, существуют дополнительные опции и , которые сохраняют пакет в и соответственно. Это полезно при установке пакетов только для разработки, таких как или вашей тестовой библиотеки.
ответ дан voithos 2 August 2016 в 22:23
Он ничего не сделает, если у вас нет файла . Начните с запуска , чтобы создать его. Затем вызовы или или обновят , чтобы вывести список ваших зависимостей.
ответ дан Nick Retallack 2 August 2016 в 22:23
в соответствии с NPM Doc
Таким образом, кажется, что при запуске зависимость пакета должен автоматически добавляться в package.json, верно?
ответ дан ROROROOROROR 2 August 2016 в 22:23
или , почему мы выбираем 1 вариант между этими двумя при установке пакета в нашем проекте.
из приведенных выше ответов ясно, что добавит запись в поле в файле , а другую — в .
Таким образом, возникает вопрос, зачем нам нужно вводить наш установочный модуль в файл pacakge.json, потому что всякий раз, когда мы регистрируем код в или передаем наш код кому-то, мы всегда даем его или проверяем его без , потому что он Он очень большой по размеру и также доступен в общем месте, поэтому, чтобы избежать этого, мы делаем это.
Итак, как другой человек получит все модули, которые специально или необходимы для этого проекта, так что ответ — это файл , в котором есть запись всех необходимых пакетов для запуска или разработки этого проекта.
, поэтому после получения команды code она прочитает файл package.json и установит необходимые необходимые пакеты.
ответ дан Sunny Goel 2 August 2016 в 22:23
npm i (Имя пакета) —save
Проще говоря, с помощью приведенной выше команды нам не нужно будет записывать имя пакета в файл package.json, оно автоматически добавит его имя и зависимость от версии, которая вам понадобится в то время, когда вы отправляетесь в производство или настраиваете в другой раз.
npm help install
Выше команда ll поможет узнать больше опций и исправить def.shown в pic
ответ дан Nitin Tyagi 2 August 2016 в 22:23
Да его уже ответил, но — сохраняют, и — sav-dev больше не необходимы. Они привыкли для того, таким образом, они находятся в каждом учебном руководстве, которое я нахожу
ответ дан 3 October 2019 в 21:29
Другие вопросы по тегам:
Команды npm¶
NPM позволяет определять в файле команды, которые выполняют определенные действия. Например, определим следующий файл :
В данном случае мы получаем переданные при запуске приложению параметры.
И определим следующий файл :
Здесь добавлена секция , которая определяет две команды. Вообще команд может быть много в соответствии с целями и задачами разработчика.
Первая команда называется . Она по сути выполняет команду , которая выполняет код в файле
Вторая команда назвывается . Она также выполняет тот же файл, но при этом также передает ему два параметра.
Названия команд могут быть произвольными. Но здесь надо учитывать один момент. Есть условно говоря есть зарезервированные названия для команд, например, , , и ряд других. Их не очень много. И как раз первая команда из выше определенного файла называется . И для выполнения подобных команд в терминале/командной строке надо выполнить команду
Например, для запуска команды
Команды с остальными названия, как например, в вышеопределенном файле, запускаются так:
Например, последовательно выполним обе команды:
How to Install Node?
Below are some important commands that help in installing the npm. Before you update NPM version, we will go through the process of installing the npm.
However, npm comes as a part of Node.js, and you do not have to install it explicitly. If you want to install Node.js, you can navigate to the official site for the download. Once you install the Node, you can check the installed version of a node using the below commands.
How to Update NPM? (Node Package Manager)
If you want to update the NPM, it means you are updating the package manager, Node.js, and modules to the latest version.
Where g stands for global and pkg stands for the package.
2. Using npm@latest Command
You can use the npm@latest command for updating the node package manager. This command will also work for the Linux system.
3. Using npm@next Command
You can use the npm@next command for updating the node package manager. This command will also work for the Linux system.
How to update NPM package on Linux?
2. Using Cache Cleaning and Installing Stable NPM Version
Run all the following commands step-by-step to install the stable release.
How to update NPM version on Windows?
For updating npm, open the PowerShell with the admin account and run the following commands.
After running the commands, you will be asked to select an NPM version to install. You can use the arrow key to move upward and downward for selecting the version and hit enter.
If your upgrade process went successful, you would get the below output-
Идея версионирования: патчи, минорные и мажорные версии
Идея использования трёх чисел, разделённых точками, в качестве версии состоит в следующем (например, если текущий пакет 1.0.0):
- Патчи или исправления ошибок и незначительные изменения увеличивают последнее число (1.0.1).
- Минорные версии. Новые возможности, которые не ломают старый код увеличивают второе число (1.1.0).
- Мажорные версии. Изменения, ломающие совместимость со старым кодом увеличивают самое первое число (2.0.0).
При указании необходимой версии зависимости в «package.json» можно указывать диапазоны:
- 1.0, 1.0.x или ~1.0.4 будет использовать последнюю версию патча с исправлениями ошибок (для третьего варианта начиная с версии 1.0.4).
- 1, 1.x или ^1.0.4 будет использовать последнюю минорную версию.
- * или x всегда будет использовать последнюю версию.
package.json¶
В npm файл используется для описания модулей, от которых зависимо ваше приложение, и содержит ряд метаданных о приложении. Рассмотрим на примере. Предположим, у вас есть проект, корневая директория которого называется . Перейдите в через командную строку и введите команду.
Вам будет предложено ввести некоторые данные, на основе которых Node.js npm сгенерирует файл . Структура файла:
- — название приложения;
- — версия;
- — описание;
- — главный файл приложения, который отвечает за его запуск (хорошей практикой считается давать название или );
- — объект, описывающий команды, которые часто приходится выполнять в процессе разработки и упрощающий их использование;
- — ссылка на Git репозиторий, где хранится проект;
- — массив ключевых слов, по которым будет осуществляться поиск модуля на сайте npm (если он будет там опубликован);
- — разработчик;
- — лицензия, под которой будет распространяться приложение.
Пример, как может выглядеть .
package.json
Если вы не планируете публиковать свое приложение в общем репозитории npm, то заполнять все поля совсем не обязательно. Вполне будет достаточно для собственного удобства указать , и .
Пакеты в Node.js
Вкратце, пакетом в Node.js называется один или несколько JavaScript-файлов, представляющих собой какую-то библиотеку или инструмент.
Файл package.json
Файл package.json содержит в себе информацию о вашем приложении: название, версия, зависимости и тому подобное. Любая директория, в которой есть этот файл, интерпретируется как Node.js-пакет, даже если вы не собираетесь публиковать его.
Способ использования файла package.json зависит от того, собираетесь ли вы скачивать пакет или публиковать его.
Скачивание пакетов
Если вы хотите скачать пакет вручную, вам необязательно использовать для этого package.json. Вы можете выполнить в терминале команду npm с названием нужного пакета в качестве аргумента команды, и пакет будет автоматически скачан в текущую директорию. Например:
$ npm install canvas-chart
Также для скачивания пакетов вы можете использовать package.json. Создайте в директории вашего проекта файл package.json, и добавьте в него следующий код (мы не указываем название нашего пакета и версию, т. к. мы не собираемся его публиковать; мы указываем название и версию пакетов для загрузки):
{ "devDependencies": { "canvas-chart": "~1.3.0" } }
Затем сохраните файл и выполните в терминале команду .
Если вы хотите использовать в своём проекте множество пакетов, то лучше указать их package.json вместо того, чтобы каждый раз скачивать их через терминал.
Если вы используете package.json для скачивания пакетов, то получается, что вы создаёте пакет для скачивания пакетов. Я знаю, что это странно, но это работает.
Если какой-либо пакет имеет зависимости, то npm найдёт их через package.json загружаемого пакета и скачает их. В нашем случае у пакета canvas-chart тоже есть файл package.json с прописанными в нём зависимостями.
Публикация пакета
Чтобы опубликовать пакет, вам потребуется собрать все исходные коды и файл package.json в одной директории. В package.json должны быть указаны название, версия и зависимости пакета. Например:
{ "name": "canvas-project", "version": "0.1.0", "devDependencies": { "canvas-chart": "~1.3.0" }
Посмотрев на этот код, мы можем сказать, что пакет «canvas-project» зависит от пакета «canvas-chart». Опубликовать пакет можно с помощью комадны .
Использование пакета в качестве исполняемого файла
Когда npm скачивает пакет, он ищет свойство «bin» в файле package.json. Если он находит это свойство, то он конвертирует этот пакет в исполняемый файл и размещает его в указанной директории.
Например, команда ниже загружает grunt-cli в текущую директорию и конвертирует исходники в исполняемый файл, который затем помещается в папку со всеми исполняемыми файлами. Вследствие этого мы сможем вызвать команду grunt-cli.
$ npm install grunt-cli
Теперь вы знаете, что такое пакет и как он может зависеть от других пакетов. Также вы узнали, как npm работает с пакетами. Давайте перейдём от теории к практике и установим Grunt.
Conclusion
Node.js has become popular for creating interactive websites and web-based applications. It comes with npm (Node Package Manager) that helps manage the packages, modules, and dependencies of Node.js. You must use the latest stable NPM version for your products to experience the latest functionalities. Also, you know after reading this blog how to update NPM packages and how to update NPM version on any system, Windows, and Linux. You do not have to worry about installing npm explicitly as it comes with the Node.js installation.
In the above article, we have mentioned some commands that will help you to update the existing npm to the latest stable NPM version.
People are also reading:
- What is Node.js?
- How to Update Node.js
- How to Check Node.js Version
Установка определённой версии пакета
Установим ещё один пакет и поговорим о его возможных версиях
$ npm install normalize.css
Если package.json не содержит записи о normalize.css то будет установлена последняя стабильная версия.
Если в package.json указана версия, будет установлена она.
Если Вы хотите установить какую-то определённую версию, укажите её в package.json либо
введите @номер_версии при установке.
Например npm install normalize.css@8.0.1
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
+ [email protected]
added 1 package and audited 2 packages in 0.523s
found 0 vulnerabilities
Посмотрим содержимое файла package.json и заодно узнаем какие версии пакетов установлены
$ vi package.json
What is NPM?
NPM stands for Node Package Manager and is written in JavaScript that is considered to be the default package manager for Node.js. It was developed and maintained by Isaac Z. Schlueter on January 12, 2010. NPM helps manage all the Node.js packages, modules that come along with a command-line client called npm. Whenever you install Node.js, npm also gets installed with it. You can install the required packages and modules of Node.js using NPM.
A package comes with all the files that are needed for a module. These modules are the JavaScript libraries that you can include in the Node.js project as per the project requirement. You can install NPM dependencies for a project using the package.json file. It allows you to update and uninstall NPM packages if not required. If you consider the package.json file, each dependency has specified some range of valid NPM versions for which it will work through a semantic versioning scheme. It helps the developers to auto-update the packages along with avoiding unwanted breaking changes.
Npm helps manage the packages that are a local dependency of a specific project and for globally installed JavaScript tools. Npm not only manages the direct downloads but also manages the versioning. It allows you to install any version, either previous or later depending on your project requirement. If you do not mention any version to install, it will install the latest package version by default.
Below are some essential facts about NPM you should know.
- As of now, there are more than 1.3 million OS packages available in the NPM main registry. The registry does not impose any vetting process while submitting, which means these packages can be of low quality, less secure, and harmful to the system. If you want to take down the malicious packages, it is done via user reports.
- NPM is open-source.
- Npm is the recommended functionality in the Node.js installer and consists of the command-line client for interacting with the remote registry.
Публикация пакета npm
Для начала вам нужно создать пользователя в репозитории npm:
npm adduser
1 | npm adduser |
Если же у вас уже есть пользователь, созданный на сайте, то можете сохранить его логин и пароль:
npm login
1 | npm login |
Для публикации пакета используйте команду:
npm publish
1 | npm publish |
Имейте в виду, что опубликовано будет всё, что не добавлено в игнорируемые в «.gitignore» или «.npmignore».
Перейдите на
https://npmjs.com/package/<package>. Вы должны увидеть информацию о вашем пакете.
Для обновления версии используйте одну из команд:
npm update patch
1 | npm update patch |
или
1 | npm update minor |
или
npm update major
1 | npm update major |
А затем опубликуйте его снова:
npm publish
1 | npm publish |
What is the usage of NPM? (Node Package Manager)
Below is the common usage of npm:
- It helps you adapt the code packages for your applications or incorporate the existing packages as they are.
- It enables you to download and install the standalone tools to be used right away without any effort.
- It allows you to run packages without the need to download with the help of npx.
- You can share your code with another npm user anywhere, irrespective of the underlying system specifications.
- It allows restricting the code to a particular developer, ensuring the code’s integrity.
- It allows you to create organizations that help coordinate the maintenance of packages, coding, and developers.
- You can also create virtual teams with the help of an organization.
- It allows you to handle multiple code versions and their dependencies.
- It allows you to update the application effortlessly and seamlessly whenever the underlying code is changed.
- You will be able to solve the same problem with several different solutions.
- It allows you to get in touch with other developers working on the same problems and projects.
Проекты Node.js
Для проектов Node.js можно выполнить следующие задачи:
Эти функции работают вместе и синхронизируются с системой проекта и файлом package.json в проекте.
Предварительные требования
Чтобы добавить поддержку NPM в проект, вам потребуется рабочая нагрузка разработки Node.js и установленная среда выполнения Node.js. Подробные инструкции см. в разделе Создание проекта Node.js.
Observação
Чтобы включить npm в существующем проекте Node.js, используйте шаблон решения Из существующего кода Node.js или тип проекта Открыть папку (Node.js).
Установка пакетов из обозревателя решений (Node.js)
Самый простой способ установить пакеты npm в проекты Node.js — через окно установки пакетов npm. Чтобы открыть это окно, щелкните правой кнопкой мыши узел npm в проекте и выберите пункт Установить новые пакеты npm.
В этом окне можно найти пакет, указать параметры и установить пакет.
- Тип зависимости — выберите Стандартный, Разработка или Необязательный. Вариант «Стандартный» означает, что пакет является зависимостью среды выполнения, а вариант «Разработка» указывает, что пакет необходим только во время разработки.
- Добавить в package.json — рекомендуется. Этот настраиваемый параметр является устаревшим.
- Выбранная версия — выберите версию пакета, который вы хотите установить.
- Другие аргументы npm — укажите другие стандартные аргументы npm. Вы можете указать значение версии, например , чтобы установить определенную версию, которая недоступна в списке версий.
Ход установки можно просмотреть в выходных данных npm в окне Вывод. Чтобы открыть окно, выберите Вид > Вывод или нажмите сочетание клавиш CTRL + ALT + O. Это может занять некоторое время.
Dica
Если вы хотите найти пакеты с заданной областью, добавьте в начало поискового запроса нужную область, например, введите , чтобы искать файлы определений TypeScript для mocha. Кроме того, при установке определений типов для TypeScript можно указать целевую версию TypeScript, добавив в поле аргумента npm.
Пакеты npm отображаются в обозревателе решений. Записи в узле npm повторяют зависимости в файле package.json.
Состояние пакета
- — установлен и указан в package.json
- — установлен, но явно не указан в файле package.json
- — не установлен, но указан в package.json
Щелкните правой кнопкой мыши узел npm, чтобы выполнить одно из следующих действий:
- Установка новых пакетов NPM Открывает пользовательский интерфейс для установки новых пакетов.
- Установка пакетов NPM Запускает команду NPM install, чтобы установить все пакеты, перечисленные в package.json. (Запускаем .)
- Изменить пакеты npm. Обновляет пакеты до последних версий в соответствии с диапазоном семантического управления версиями (SemVer), указанным в package.json. (Запускается .). Диапазоны SemVer обычно задаются с помощью «~» или «^». Дополнительные сведения см. в разделе Конфигурация package.json.
Щелкните правой кнопкой мыши узел пакета или выполните одно из следующих действий:
- Установка пакетов NPM Запускает команду NPM install, чтобы установить версию пакетов, перечисленных в package.json. (Запускаем .)
- Изменить пакеты npm. Обновляет пакеты до последних версий в соответствии с диапазоном SemVer, указанным в package.json. (Запустить .) Диапазоны SemVer обычно задаются с помощью «~» или «^».
- Удалить пакеты NPM удалит пакет и удаляет его из package.json (Запускает .)
Щелкните правой кнопкой мыши узел пакета или узел npm и выполните одно из следующих действий:
- Установите отсутствующие пакеты, указанные в package.json
- Обновите пакеты npm до последней версии
- Удалите пакет и исключите его из package.json
Observação
Сведения о решении проблем с пакетами npm см. в разделе .
Использование команды .npm в интерактивном окне Node.js (Node.js)
Вы также можете использовать команду в интерактивном окне Node.js для выполнения команды npm. Чтобы открыть окно, в Обозревателе решений щелкните проект правой кнопкой мыши и выберите пункт Открыть интерактивное окно Node.js (или нажмите сочетание клавиш CTRL + K, N).
В этом окне вы можете использовать следующие команды для установки пакета:
Dica
По умолчанию npm будет выполняться в домашнем каталоге проекта. Если у вас несколько проектов в решении, укажите имя или путь к проекту в квадратных скобках.
Dica
Если проект не содержит файл package.json, используйте , чтобы создать файл package.json со значениями по умолчанию.
Зависимости от других пакетов
Для указания зависимости от других пакетов используются поля
dependencies и
devDependencies в «package.json», которые указывают зависимости для production среды и development соответственно. Для добавления зависимостей проще использовать флаги
—save и
—save-dev у
npm install, которые сохраняют зависимость в «package.json» для production и development среды.
npm install <имя_пакета> —save
1 | npm install <имя_пакета> —save |
npm install <имя_пакета> —save-dev
1 | npm install <имя_пакета> —save-dev |
Пример «package.json» с зависимостями:
package.json
JavaScript
{
«name»: «my_package»,
«version»: «1.0.0»,
«dependencies»: {
«my_dep»: «^1.0.0»
},
«devDependencies» : {
«my_test_framework»: «^3.1.0»
}
}
1 |
{ «name»»my_package», «version»»1.0.0», «dependencies»{ «my_dep»»^1.0.0» }, «devDependencies»{ «my_test_framework»»^3.1.0» } } |
Установка Grunt с помощью npm
Grunt это таск-раннер, позволяющий автоматизировать многие повседневные задачи вроде сжатия изображений и минификации css-файлов.
Выполните следующие шаги, чтобы установить Grunt и начать работу с ним.
- Создайте директорию для вашего проекта. С точки зрения сервера эта директория будет корневой.
- Откройте эту директорию через терминал.
- Теперь скачайте и установите Grunt. Аргумент указывает npm на то, что пакет следует скачивать в основную папку для хранения пакетов, а не в текущую директорию.
$ npm install -g grunt-cli
- Для каждой задачи, выполняемой grunt’ом, есть отдельный пакет. Например, можно найти пакеты для минификации JavaScript, склеивания файлов и так далее. Также вы можете создавать собственные пакеты для выполнения каких-либо задач; такие пакеты будут называться Grunt-плагинами. Давайте установим нужные нам пакеты в директирии нашего проекта. Для этого нам понадобится создать файл package.json и поместить в него код ниже. Затем выполните команду . Она загрузит нужные пакеты. Помните о том, что директория, содержащая package.json, сама является пакетом.
{ "devDependencies": { "grunt-contrib-concat": "~0.3.0" } }
- Мы установили пакет для склеивания файлов. Теперь нам надо описать задачу для Grunt. Это делается с помощью файла Gruntfile.js. Когда вы выполняете команду в директории проекта, Grunt будет искать Gruntfile.js, чтобы загрузить и выполнить задачи. Давайте подключим наш плагин для склеивания файлов и опишем простую задачу.
module.exports = function(grunt) { // 1. Общая конфигурация grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), concat: { // 2. Настройки для склеивания файлов dist: { src: [ 'js/libs/*.js', // Все js-файлы в директории libs 'js/global.js' // Отдельный файл ], dest: 'js/build/production.js', } } }); // 3. Сообщаем, какие плагины мы собираемся использовать grunt.loadNpmTasks('grunt-contrib-concat'); // 4. Определяем задачу по умолчанию, которая будет выполняться при запуске команды grunt в терминале. grunt.registerTask('default', ); };
- По этому принципу вы можете сами скачать и подключить нужные плагины.
- Теперь вы можете запустить команду в директории вашего проекта, чтобы склеить js-файлы.