Package json что это
Перейти к содержимому

Package json что это

  • автор:

Что такое package.json?

package.json — это файл управления версиями. Его основное назначение — хранить список зависимостей (библиотек), необходимых проекту node.js для работы. Он также включает другую метаинформацию, в том числе скрипты, данные об авторе и лицензии, описание и свойства проекта.

Проблема

В приведенном выше package.json видно, что объект “dependencies” сопоставляет имя пакета с диапазоном версий.

Файл package.json всегда предоставляет диапазон версий для зависимости, но никогда — точную версию.

Это делает npm install недетерминированной командой. Поэтому, если запустить npm install cегодня, а затем запустить ее снова через 3 месяца, можно получить не то же самое дерево node_modules .

Кроме того, если другой разработчик клонирует проект и через несколько дней запустит npm install , у него может оказаться другое дерево зависимостей node_modules . Когда несколько разработчиков работают над одним и тем же репозиторием (что чаще всего и происходит в каждой организации), это может стать большой проблемой и привести к несоответствию установленных зависимостей или, что еще хуже, к критическим изменениям.

Каково же решение этой проблемы? Для начала разберемся, что означает диапазон версий. Строка, содержащая одно или несколько чисел, разделенных пробелами, называется диапазоном версий. Эти числа также содержат некоторые специальные символы, такие как ^ ~ < || . Например, ^1.0.4, ~2.3, 4.4.x, >=2.3.4,

Эти символы передают npm разные команды.

Допустим, требуется установить пакет “foo” . После запуска npm i foo в файле package.json появится запись следующего содержания:

 "dependencies": "foo": "^2.3.0", 
.
.
>
>

Здесь установлен “foo” версии 2.3.0 [major minor patch] . Символ каретки несет в себе определенную информацию.

^2.3.0 [^ — символ каретки] — указание npm обновить версию до минорной (второстепенной) версии и патча, но не до мажорной (основной) версии. То есть 2.3.4, 2.3.9, 2.4.5, 2.8 , но не 3.0.0 и т. д.

~2.3.0 [~ — символ тильды] — указание npm обновлять до версии патча, но не до минорной и мажорной версий. То есть 2.3.4, 2.3.9 , но не 2.4.0 и т. д.

Есть множество других символов, обозначающих различные стратегии обновления версий npm. Лучшим справочником в этом отношении является официальный сайт npm.

Итак, при запуске npm install несколько дней спустя версия «foo»: «^2.3.0» (на данный момент минорная/патч) может автоматически обновиться, что нежелательно. Но не волнуйтесь: на помощь придет package-lock.json.

Что такое package-lock.json?

package-lock.json — это лок-файл (файл блокировки), содержащий информацию о зависимостях/пакетах с их точными номерами версий (*важно), которые были установлены для проекта node.js.

  • Это помогает членам команды, работающим над одним и тем же репозиторием, инсталлировать именно те версии пакетов, которые были установлены ранее, даже если для пакетов были выпущены новые версии. Это обеспечивает одинаковое дерево node_modules на разных компьютерах/средах.
  • Файл package-lock.json используется для фиксации зависимостей к определенному номеру версии.
  • Этот файл автоматически генерируется (или воспроизводится) при изменении дерева node_modules или файла package.json .
  • Всякий раз при клонировании репозитория и запуска npm i на новом компьютере, npm сначала обратит внимание на наличие файла package-lock.json . При обнаружении он начнет установку пакетов, указанных в этом файле. В противном случае заглянет в файл package.json и начнет установку необходимых зависимых пакетов (разъяснение на этот счет будет далее в этой статье).

Нужно ли коммитить package-lock.json?

Да, этот файл должен быть зафиксирован в исходном репозитории, чтобы при клонировании репозитория разработчики могли инсталлировать зависимости, точно соответствующие тем, которые были первоначально установлены на компьютере/в среде. В основном это делается для репликации сред node.js, установленных на разных компьютерах.

Начиная с npm v7 , lockfile (лок-файл) содержит достаточно информации обо всем дереве пакетов, что снижает необходимость чтения файлов package.json и тем самым увеличивает производительность.

Почему/когда npm install переписывает package-lock.json?

Разъяснение: npm install учитывает package-lock.json , только если устанавливаемый пакет(ы) находится в диапазоне версий package.json .

Если версия пакета, указанная в лок-файле, не входит в диапазон версий файла package.json , пакеты обновляются, а package-lock.json перезаписывается. Чтобы вместо перезаписи package-lock.json установка завершилась неудачей, используется npm ci .

Пример

Вы объявляете зависимость в package.json следующим образом:

"foo": "^2.3.0"

Затем выполняете команду npm install , которая создаст package-lock.json с версией:

"foo": "2.3.0"

Через несколько дней выходит более новая минорная версия “foo” , например 2.4.0, и тогда происходит следующее.

npm install : версия package-lock находится в пределах диапазона (т.е. ^2.3.0), поэтому устанавливается 2.3.0.

npm ci : в любом случае учитывается только package-lock.json , поэтому устанавливается 2.3.0.

Далее необходимо вручную обновить package.json до:

"foo": "^2.4.0"

Затем повторите запуск.

npm install : версия package-lock не входит в диапазон (т.е. ^2.4.0), поэтому устанавливается 2.4.0, а package-lock.json переписывается и теперь показывает «foo»: «2.4.0» .

npm ci : эта команда в любом случае учитывает только package-lock.json, но поскольку версия не находится в диапазоне, она выдает ошибку.

Команда npm ci похожа на npm install за исключением того, что она предназначена для использования в автоматизированных средах, таких как тестовые платформы, непрерывная интеграция и развертывание, или в любой другой ситуации, когда нужно убедиться, что выполняется чистая установка зависимостей (npm docs).

Выводы

  1. npm install не является детерминированной командой, что создает проблему при работе над репозиторием (с несколькими разработчиками), содержащим тысячи зависимостей.
  2. Файл package-lock.json гарантирует, что при каждом запуске npm install будет создаваться одно и то же дерево node_modules .
  3. Более новая команда npm ci гарантирует, что ВСЕГДА будет создаваться одно и то же дерево node_modules . В противном случае происходит ошибка.
  • Как выбрать подходящую версию Node.js?
  • 5 библиотек ведения логов для Node.js
  • Однопоточность и асинхронность: как у Node это получается?

Читайте нас в Telegram, VK и Дзен

Зачем нужен package lock json и package json

В данной статье мы хотим познакомить вас с package lock и package json файлами. Разберемся, для чего необходимы lock файлы, при работе с npm.

Давайте начнём с npm (node-modules) — это сборщик пакетов в программной платформе node.js. Актуальную версию node.js можно скачать по ссылке. В основном предназначена для установки модулей. Для просмотра актуальных версий модулей npm создаёт файл package.json.

Что такое пакет в JavaScript?

Пакетом называется один или несколько файлов в JS, в виде инструмента или библиотеки. Npm хранит в себе самый большой набор пакетов. Npm необходим для скачивания пакетов и загрузки их, благодаря этому можно хорошо ускорить своё написание кода.

Что такое package.json?

Package.json — это файл, который представляет зависимости верхнего уровня от других пакетов при помощи семантического управления версиями. Любой пакет, может исходить из другого пакета, у них образуется взаимосвязь.

Package.json файл состоит:
1. Dependencies (зависимости) в которых хранятся названия и версия модуля
2. Метаданные — это описание, автор, лицензия и т.д.
3. Скрипты

Типы зависимостей в package.json

Давайте разберем несколько основных зависимостей проекта, чтобы лучше понимать что в него входит и что можно редактировать.
• dependencies — главные зависимости которые находятся в вашем проекте. Их можно применять и запускать в коде.
• devDependencies — взаимосвязи разработки.
• peerDependencies — равные взаимосвязи, при добавлении которых, мы даем понять какую версию для взаимосвязи следует установить
• optionalDependencies — второстепенные зависимости. Если при установке произойдет сбой, на основную сборку это не повлияет.
• bundledDependencies — в нём содержится массив пакетов. Данный массив нужен, если вам требуется добавить новую зависимость, которой нет в npm.

Назначение package-lock.json

package-lock.json если коротко, то предназначен для блокировки зависимостей от определенного номера версии. В package-lock.json файле перечислены зависимости вашего приложения и зависимости всех его зависимостей. Другими словами, он описывает, какую версию каждого отдельного пакета вы установили. Вот почему это намного дольше, чем package.json. Когда вы используете package-lock.json для установки зависимостей, вы получаете точно такие же пакеты, неважно, устанавливаете ли вы их сейчас или через несколько лет, когда мы, надеюсь, больше не будем использовать клавиатуры.

Чтобы установить зависимости на основе текущего package-lock.json файла, вы должны использовать npm ci вместо npm install.

Используя, npm ci вы сможете избежать проблем, которые возникают, когда приложение работает на вашем компьютере, но не работает на чужом, потому что они в конечном итоге загрузили различные зависимости из-за использования npm install.
Вот почему при запуске ваших сборок на сервере непрерывной интеграции вам следует устанавливать зависимости, используя npm ci вместо npm install. Это приведет к тому, что сборка CI-сервера будет работать так же, как на вашем компьютере.

Назначение package.json

Как говорилось уже выше, файл package.json — один из основных частей проекта основан на Node.js. Многие уже встречали этот файл у себя в проектах, но открыв его — ничего не поняли, так и остался для вас “тёмным туманом”. Зачем использовать данный файл?

Package специализирован не только лишь на взаимосвязях, но и для определения свойств проекта:

Чтоб отключить автоматическое создания файла следует написать в npmrc package-lock=false. Наличие package-lock.json в проекте необязательно.

Разбивка параметров

  • name — параметр name обозначает имя создаваемого проекта. Имя не должно превышать 214 знаков. Запрещены пробелы, подчеркивания, дефисы и CAPS LOCK.
  • Зачем нужно столько ограничений? После создания пакета происходит генерация url страницы.
  • author — описание об авторе проекта. Может быть имя, фамилия. Может быть представлен в виде массива с указаниями соц. сетей.
  • contributors — люди, которые разрабатывали данный проект (массив)
  • bugs — Отслеживание багов в проекте, можно указать ссылку на GitHub трекер.
  • homepage — Главная страница пакета
  • version — Указывает текущую версию пакета.

true-naming-version-project

Правила написания версии:
Первая цифра — это внесены критические изменения
Вторая цифра — обозначает, что выпуск содержит новые функции.
Третья цифра — указывает на исправления.

  • license — лицензия пакета
  • keywords — ключи(теги) для поиска вашего проекта. Чем лучше их задать, тем легче людям найти ваш пакет.
  • description — описание проекта. Если выкладывать в сеть, то данное описание обязательно!
  • repository — добавьте сюда git репозиторий пакета. Данное свойство содержит префиксы (gitlab:url, bitbucket:url)
  • main — Главная файл пакета
  • private — если значение true, то оно не даст загрузить набор в npm
  • scripts — скрипты, которые могут быть доступны через npm
  • dependencies — перечень установленных взаимосвязей
  • devDependencies — зависимости разработки
  • engines — показывает, какие средства и версии Node.js употребляться для работы пакета
  • browserslist — помогает показать, какие браузеры могут поддерживать пакет

Менеджеры версий

Существует несколько возможностей, разрешающих пользоваться многими версиями Node.js на вашем пк. Одна из них n, вторая — Node Version Manages(nvm). Кто искал данное решение, изучите информацию на ресурсах: Install Multiple Versions of Node.js using nvm.

Что из себя представляет расширение JSON

Формат JSON — это текстовый формат служит для обмена данными созданный на объектах JS. Данные в файле представлены в виде “ключ — значение”.

Как создать package.json?

npm-init-cmd

Из-за того, что package.json довольно глобальный и состоит из множества свойств, то в ручную его писать трудно и очень долго. Для быстроты решения задачи, npm сделали команду init. Откройте консоль в области текущей папки и напишите команду: npm init. Данная команда позволяет создать файл package.json. После этого вы получаете вот такой ответ:

Затем после всех вопросов, в основном вы все пропускаете через Enter, мы получаем те самые данные в виде “ключ — значение”

package-create-cmd

Наш package.json создан!

Установка модулей

Для начала в своём проекте в консоли напишите команду
npm install

Данная команда установит файл node_modules(короткий вариант команды npm i). Вторым этапом мы установим какую-нибудь библиотеку. К примеру: gulp-sass — помогает скомпилировать код, и сжать стили. Для установки напишем команду
npm install gulp-sass —save

Если вам нужны еще библиотеки просто перечисляете их, отделяя отступом. Но не забывайте добавлять аргумент —save, для сохранения библиотеки как зависимость самого проекта.

Аргумент —save показывает npm следить за актуальной версией package.json. Хорошая возможность, дать другим разработчиком увидеть какие зависимости необходимы проекту.

По итогу у нас получились созданные файлы: package.json, package-lock.json, node_modules.

Сгенерированная папка node_modules хранит в себе все модули вашего проекта. Данную папку в Git репозиторий мы не добавляем! Так как в ней хранится множество зависимостей и они будут только добавляться, вы будете очень долго ждать загрузки. Загружать нужно только 2 файла package.json, package-lock.json, даже после того, как другой разработчик сделает копию вашего проекта, он сможет установить нужные зависимости сохраненные в package.json.

Не забудьте добавить файл node_modules в gitignore.

Заключение

По итогу, в данной статье мы разобрали базу package и package lock, рассказали о самых распространенных и часто встречающихся ошибках, которые следует избегать.

Углубились в структуру файлов. Показали как установить node_modules, а также научились устанавливать дополнительные библиотеки.

В конечном итоге помните, что на git node_modules лучше не добавлять. И теперь любой скопированный проект вы сможете настроить сами, так, чтобы он работал.

NPM. Package.json. Установка модулей. Определение команд¶

Кроме встроенных и кастомных модулей Node.js существует огромный пласт различных библиотек и фреймворков, разнообразных утилит, которые создаются сторонними производителями и которые также можно использовать в проекте, например, express, grunt, gulp и так далее. И они тоже нам доступны в рамках Node.js. Чтобы удобнее было работать со всеми сторонними решениями, они распространяются в виде пакетов. Пакет по сути представляет набор функциональностей.

Для автоматизации установки и обновления пакетов, как правило, применяются систему управления пакетами или менеджеры. Непосредственно в Node.js для этой цели используется пакетный менеджер NPM (Node Package Manager). NPM по умолчанию устанавливается вместе с Node.js, поэтому ничего доустанавливать не требуется. Но можно обновить установленную версию до самой последней. Для этого в командной строке/терминале надо запустить следующую команду:

npm install npm@latest -g 

Чтобы узнать текущую версию npm , в командной строке/терминале надо ввести следующую команду:

npm -v 

Для нас менеджер npm важен в том плане, что с его помощью легко управлять пакетами. К примеру, создадим на жестком диске новую папку modulesapp (В моем случае папка будет находиться по пути C:\node\modulesapp ).

Далее для примера установим в проект express . Express представляет легковесный веб-фреймворк для упрощения работы с Node.js. В данном случае мы не будем пока подробно рассматривать фреймворк Express, так как это отдельная большая тема. А используем его лишь для того, чтобы понять, как устанавливаются сторонние модули в проект.

Для установки функциональности Express в проект вначале перейдем к папке проекта с помощью команды cd . Затем введем команду

npm install express 

2.4.png

После установки express в папке проекта modulesapp появится подпапка node_modules , в которой будут храниться все установленные внешние модули. В частности, в подкаталоге node_modules/express будут располагаться файлы фреймворка Express.

Далее определим файл простейшего сервера. Для этого в корневую папку проекта modulesapp добавим новый файл app.js :

 1 2 3 4 5 6 7 8 9 10 11
// получаем модуль Express const express = require('express'); // создаем приложение const app = express(); // устанавливаем обработчик для маршрута "/" app.get('/', function (request, response)  response.end('Hello from Express!'); >); // начинаем прослушивание подключений на 3000 порту app.listen(3000); 

Первая строка получает установленный модуль express , а вторая создает объект приложения.

В Express мы можем связать обработку запросов с определенными маршрутами. Например, / — представляет главную страницу или корневой маршрут. Для обработки запроса вызывается функция app.get() . Первый параметр функции — маршрут, а второй — функция, которая будет обрабатывать запрос по этому маршруту.

И чтобы сервер начал прослушивать подключения, надо вызвать метод app.listen() , в который передается номер порта.

Запустим сервер командой node app.js :

2.5.png

И в адресной строке браузера введем адрес http://localhost:3000/ :

2.6.png

Файл package.json¶

Для более удобного управления конфигурацией и пакетами приложения в npm применяется файл конфигурации package.json . Так, добавим в папку проекта modulesapp новый файл package.json :

1 2 3 4
 "name": "modulesapp", "version": "1.0.0" > 

Здесь определены только две секции: имя проекта — modulesapp и его версия — 1.0.0 . Это минимально необходимое определение файла package.json . Данный файл может включать гораздо больше секций. Подробнее можно посмотреть в документации.

Далее удалим из проекта каталог node_modules . То есть в папке проекта modulesapp будут два файла app.js и package.json .

Теперь снова добавим express с помощью следующей команды:

npm install express --save 

Флаг —save указывает, что информацию о добавленном пакете надо добавить в файл package.json .

2.7.png

И после выполнения команды, если мы откроем файл package.json , то мы увидим информацию о пакете:

1 2 3 4 5 6 7
 "name": "modulesapp", "version": "1.0.0", "dependencies":  "express": "^4.14.0" > > 

Информация обо всех добавляемых пакетах, которые используются при запуске приложения, добавляется в секцию dependencies .

Файл package.json играет большую роль и может облегчить разработку в различных ситуациях. Например, при размещении в разных репозиториях нередко мы ограничены выделяемым дисковым пространством, тогда как папка node_modules со всеми загруженными пакетами может занимать довольно приличное пространство. В этом случае удобнее разместить основной код проекта без node_modules . В этом случае мы можем определить все пакеты в файле package.json , а затем для загрузки всех пакетов выполнить команду

npm install 

Эта команда возьмет определение всех пакетов из секций dependencies и загрузит их в проект.

devDependencies¶

Кроме пакетов, которые применяются в приложении, когда оно запущено, например, express, то есть в состоянии «production», есть еще пакеты, которые применяются при разработке приложения и его тестировании. Такие пакеты добавляются в другую секцию — devDependencies . В вышеприведенном примере она не определена, но если бы мы добавили какой-нибудь grunt или gulp, то они бы были именно в секции devDependencies .

Например, загрузим в проект пакет jasmine-node , который используется для тестирования приложения:

npm install jasmine-node --save-dev 

Флаг —save-dev указывается, что информацию о пакете следует сохранить в секции devDependencies файла package.json :

 1 2 3 4 5 6 7 8 9 10
 "name": "modulesapp", "version": "1.0.0", "dependencies":  "express": "^4.14.0" >, "devDependencies":  "jasmine-node": "^1.14.5" > > 

Удаление пакетов¶

Для удаления пакетов используется команда npm uninstall . Например:

npm uninstall express 

Эта команда удаляет пакет из папки node_modules , в то же время в файле package.json информация о данном пакете остается. Чтобы удалить информацию также и из package.json , применяется флаг —save :

npm uninstall express --save 

Семантическое версионирование¶

При определении версии пакета применяется семантическое версионирование. Номер версии, как правило, задается в следующем формате major.minor.patch . Если в приложении или пакете обнаружен какой-то баг и он исправляется, то увеличивается на единицу число patch . Если в пакет добавляется какая-то новая функциональность, которая совместима с предыдущей версией пакета, то это небольшое изменение, и увеличивается число minor . Если же в пакет вносятся какие-то большие изменения, которые несовместимы с предыдущей версией, то увеличивается число major . То есть глядя на разные версии пакетов, мы можем предположить, насколько велики в них различия.

В примере с express версия пакета содержала, кроме того, дополнительный символ карет: ^4.14.0 . Этот символ означает, что при установке пакета в проект с помощью команды npm install будет устанавливаться последняя доступная версия от 4.14.0 . Фактически это будет последняя доступная версия в промежутке от 4.14.0 до 5.0.0 ( >=4.14.0 и

Команды npm¶

NPM позволяет определять в файле package.json команды, которые выполняют определенные действия. Например, определим следующий файл app.js :

1 2 3 4 5
let name = process.argv[2]; let age = process.argv[3]; console.log('name: ' + name); console.log('age: ' + age); 

В данном случае мы получаем переданные при запуске приложению параметры.

И определим следующий файл package.json :

1 2 3 4 5 6 7 8
 "name": "modulesapp", "version": "1.0.0", "scripts":  "start": "node app.js", "dev": "node app.js Tom 26" > > 

Здесь добавлена секция scripts , которая определяет две команды. Вообще команд может быть много в соответствии с целями и задачами разработчика.

Первая команда называется start . Она по сути выполняет команду node app.js , которая выполняет код в файле app.js

Вторая команда называется dev . Она также выполняет тот же файл, но при этом также передает ему два параметра.

Названия команд могут быть произвольными. Но здесь надо учитывать один момент. Есть условно говоря зарезервированные названия для команд, например, start , test , run и ряд других. Их не очень много. И как раз первая команда из выше определенного файла package.json называется start . И для выполнения подобных команд в терминале/командной строке надо выполнить команду

npm [название_команды] 

Например, для запуска команды start

npm для простых смертных

Эта статья предназначена для тех, кто не очень дружит с Node.js, но хочет использовать приложения вроде Grunt, Gulp и тому подобные. Процесс работы с этими приложениями подразумевает редактирование файла package.json и использование команд npm, так что понимание принципов работы npm поможет вам справиться с трудностями.

Node.js за 5 минут

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

console.log("Hello World"); 

Теперь откройте терминал, зайдите в папку с вашей программой и выполните команду node helloworld.js . Вместо helloworld.js может быть любой другой файл с . Убедитесь, что у вас установлен Node.js. Результат выполнения программы будет выглядеть примерно так:

Результат выполнения helloworld.js

Программа просто выведет строку «Hello World» в терминал.

Пакеты в Node.js

Вкратце, пакетом в Node.js называется один или несколько , представляющих собой библиотеку или инструмент.
npm (аббр. node package manager) — это стандартный менеджер пакетов, автоматически устанавливающийся вместе с Node.js. Он используется для скачивания пакетов из облачного сервера npm, либо для загрузки пакетов на эти сервера.

Файл package.json

Файл package.json содержит в себе информацию о вашем приложении: название, версия, зависимости и тому подобное. Любая директория, в которой есть этот файл, интерпретируется как Node., даже если вы не собираетесь публиковать его.
Способ использования файла package.json зависит от того, собираетесь ли вы скачивать пакет или публиковать его.

Скачивание пакетов

Если вы хотите скачать пакет вручную, вам необязательно использовать для этого package.json. Вы можете выполнить в терминале команду npm с названием нужного пакета в качестве аргумента команды, и пакет будет автоматически скачан в текущую директорию. Например:

$ npm install canvas-chart 

Также для скачивания пакетов вы можете использовать package.json. Создайте в директории вашего проекта файл package.json, и добавьте в него следующий код (мы не указываем название нашего пакета и версию, мы не собираемся его публиковать; мы указываем название и версию пакетов для загрузки):

Затем сохраните файл и выполните в терминале команду npm install .
Если вы хотите использовать в своём проекте множество пакетов, то лучше указать их package.json вместо того, чтобы каждый раз скачивать их через терминал.
Если вы используете package.json для скачивания пакетов, то получается, что вы создаёте пакет для скачивания пакетов. Я знаю, что это странно, но это работает.
Если пакет имеет зависимости, то npm найдёт их через package.json загружаемого пакета и скачает их. В нашем случае у пакета тоже есть файл package.json с прописанными в нём зависимостями.

Публикация пакета

Чтобы опубликовать пакет, вам потребуется собрать все исходные коды и файл package.json в одной директории. В package.json должны быть указаны название, версия и зависимости пакета. Например:

Посмотрев на этот код, мы можем сказать, что пакет зависит от пакета . Опубликовать пакет можно с помощью комадны npm publish .

Использование пакета в качестве исполняемого файла

Когда npm скачивает пакет, он ищет свойство «bin» в файле package.json. Если он находит это свойство, то он конвертирует этот пакет в исполняемый файл и размещает его в указанной директории.
Например, команда ниже загружает в текущую директорию и конвертирует исходники в исполняемый файл, который затем помещается в папку со всеми исполняемыми файлами. Вследствие этого мы сможем вызвать команду .

$ npm install grunt-cli 

Теперь вы знаете, что такое пакет и как он может зависеть от других пакетов. Также вы узнали, как npm работает с пакетами. Давайте перейдём от теории к практике и установим Grunt.

Установка Grunt с помощью npm

  • Создайте директорию для вашего проекта. С точки зрения сервера эта директория будет корневой.
  • Откройте эту директорию через терминал.
  • Теперь скачайте и установите Grunt. Аргумент -g указывает npm на то, что пакет следует скачивать в основную папку для хранения пакетов, а не в текущую директорию.
$ npm install -g grunt-cli 
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', ['concat']); >; 

Итог

В этой статье я попробовал объяснить то, как работает npm для новичков в Node.js. Теперь вы должны быть способны устанавливать и использовать различные Node.. Спасибо за чтение!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *