Разработчик Node часто получает все предварительно созданное с большой библиотечной экосистемой и генераторами, это очень сильная функция для разработчика Node, часто оставляющая одного с непониманием того, что, где и почему?

Но если вам любопытно углубиться в свой проект node, то самый первый файл, о котором вы должны подумать, — это package.json — что это такое, зачем оно и где оно?

Что это?

Проще говоря, package.json — это обычный текстовый файл JSON (нотация объектов JavaScript), который содержит всю метаданную о проекте или приложении nodeJS. Это похоже на краткое изложение того, о чем ваш проект и из чего он на самом деле состоит.

Почему package.json так важен?

Потому что это-

  1. Это отличный способ управлять зависимостями проекта, поскольку он документирует каждую вашу зависимость в одном файле.
  2. Указывает версии зависимости, которые использует проект.
  3. Делает ваш проект легко пригодным для повторного использования или совместного использования с минимальными накладными расходами на установку.

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

Где он находится?

Каждый пакет или модуль NodeJS имеет этот файл в корневом каталоге для описания своих метаданных в формате JSON.

Как его создать?

Есть два способа создать package.json:

СПОСОБ 1:

Вы можете создать свой собственный файл package.json с помощью команды -

› инициализация npm

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

  1. имя пакета
  2. версия
  3. Описание
  4. точка входа
  5. тестовая команда:
  6. git-репозиторий:
  7. Ключевые слова:
  8. Автор:
  9. лицензия

СПОСОБ 2:

Установка package.json со значениями по умолчанию с помощью следующей команды:

› npm init — — да

Эта команда создаст файл package.json по умолчанию с записями по умолчанию, как показано ниже:

Запутались в терминах?

Давайте пройдемся по каждому из них один за другим.

имя пакета

Имя - это то, как называется ваш проект, оно указано как-

Есть несколько правил, связанных с названием вашего проекта:

  • Имя должно содержать максимум 214 символов.
  • Имя не может начинаться с точки или подчеркивания.
  • Новые пакеты не должны не содержать заглавные буквы в имени.
  • Имя становится частью URL-адреса, аргумента в командной строке и имени папки. Таким образом, имя не может содержать никаких небезопасных для URL символов.

ПРИМЕЧАНИЕ: вы можете проверить реестр npm, чтобы узнать, есть ли уже что-то с таким именем, прежде чем вы слишком к нему привязываетесь.

Версия

Это то, что будет отличать ваши обновления от одного и того же пакета. Хотите узнать больше о версии, просто посетите npm-semver.

Имя пакета + версия = уникальный пакет

Эта смертельная комбинация помогает вашему проекту или пакету однозначно идентифицироваться в толпе многих.

Еще один, который поможет вам однозначно идентифицировать ваш пакет, -

Описание

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

Если в package.json нет поля описания, npm использует вместо него первую строку README.md или README.

Это указано как-

Точка входа или главная

Это имя вашего файла, который вы хотите запустить, когда нажмете свой скрипт. В основном вы передаете index.js или main.js или script.js для одного и того же.

Он указан как-

Ключевые слова

Это массив строк, который содержит ключевые слова, которые можно использовать для идентификации вашего пакета на вкладке поиска npm.

Тестовая команда

Это команда или сценарий, который будет использоваться при тестировании проекта или пакета.

По умолчанию-

Репозиторий Git

Под этим укажите место, где находится ваш код на git. Это будет полезно для людей, которые хотят внести свой вклад в ваш проект или пакет. Если репозиторий git находится на GitHub, команда npm docs сможет вас найти.

Например, вы можете передать что-то вроде:

Автор

Является ли человек, которому принадлежит пакет, мы обычно передаем информацию об авторе, например:

Лицензия

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

По умолчанию он упоминается со значением по умолчанию как ISC.

Наконец, если вы не хотите предоставлять другим лицам право на использование частного или неопубликованного пакета ни на каких условиях:

Также установите private: true, чтобы предотвратить случайную публикацию.

Это общие свойства, которые прикрепляются к любому package.json, но

Это еще не конец…

Еще два очень важных свойства в файле package.json — скрипты и зависимости. Давайте посмотрим на них-

Скрипты

«Скрипты» — это метаданные, которые содержат скриптовые команды, которые используются время от времени в жизненном цикле вашего пакета. Он формируется как пара ключ-значение, где ключ — это событие жизненного цикла, а значение — команда, которую нужно запустить в этот момент.

Зависимости

Он указывается как обычный объект, содержащий пары ключ-значение, где

Ключ-название пакета и значение — это диапазон версий с одним или несколькими дескрипторами, разделенными пробелами.

Мы также можем передать URL-адрес git, локальный URL-адрес, то есть путь к пакету вашей системы или обычный URL-адрес в качестве зависимости для пакета.

При создании любого проекта существует множество зависимостей, но в основном мы работаем с двумя из них, которые называются as- dependencies и devDependencies.

Зависимости против devDependencies

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

Пример — grunt, lite-server, grunt-contrib-watch, gulp-jade, nodemon и т. д.

Чтобы пометить какой-либо пакет как dev-зависимость, установите все эти пакеты, используя флаг -dev,

это скажет npm, что мне нужен этот пакет для разработки, так что это автоматически добавит пакет в devDependencies вместо обычных зависимостей.

Зависимости должны содержать библиотеки и фреймворки, на которых вы строите свой проект, такие как Express, React, Angular, bootstrap, jquery и т. д.

В общем, когда мы бежим,

npm install: -Он включает в себя как dev, так и обычные зависимости от нашей системы. Но в случае, когда мы бежим -

npm install — — production или npm install «$package»: — Он установит для вас только обычные зависимости и не будет включать зависимости от разработчиков.

npm install — — dev: — он установит для вас зависимости для разработки.

Таким образом, используйте флаг -dev, если вы устанавливаете пакеты, которые полезны только во время разработки, и не устанавливайте, если пакет, который вы устанавливаете, предназначен для производства.

Ну наконец то

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