Как создать JSON-файл пакета

Обновлено: 02.07.2024

Часть изучения Node.js заключается в создании файла package.json с помощью npm init , но вы также можете создать его автоматически. Создание файла package.json обычно является первым шагом в проекте Node, и он необходим для установки зависимостей в npm. Если вы начинаете проект с нуля, вы создаете файл package.json для хранения важных метаданных о вашем проекте и для записи ваших зависимостей. Когда вы запускаете npm init для создания файла package.json, вы можете принять предлагаемые значения по умолчанию или указать свои собственные данные.

В этом уроке мы:

  • Создайте файл package.json с помощью npm init
  • Проверьте созданный файл и изучите значения по умолчанию.
  • Узнайте, как автоматически создать файл package.json
  • .

Создайте файл package.json, изучите его содержимое и узнайте, как создать его автоматически.

Предпосылки

Создайте package.json

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

  • Войдите в корневую папку вашего проекта.
  • Запустить npm init
  • Заполните подсказки, чтобы создать файл package.json
  • .

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

Если вы еще этого не сделали, создайте папку для своего проекта.

В терминале войдите в только что созданную папку и запустите npm init .

Вы должны увидеть текст справки, подобный следующему:

Заполните поля в файле package.json. Либо примите значения по умолчанию, предложенные npm, либо введите новое значение и нажмите Enter.

Вам будет предложено ввести следующие поля package.json: имя, версия, описание, основная команда, тестовая команда, репозиторий git, ключевые слова, автор и лицензия. Можно принять значения по умолчанию, если вы не знаете, что указать для поля. Важной частью является создание package.json, чтобы вы могли начать установку зависимостей.

За одним важным исключением: все поля в файле package.json являются необязательными. Вы не обязаны использовать какой-либо из них, и единственное истинное требование состоит в том, что файл должен быть допустимым JSON. Есть дополнительные требования, если вы собираетесь опубликовать пакет в реестре NPM для распространения среди других.

Хотя большинство полей package.json являются необязательными, они могут быть очень полезны для других инструментов, взаимодействующих с вашим проектом и использующих информацию в файле. Рекомендуется по крайней мере предоставить информацию, которую запрашивает npm init, но решение остается за вами.

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

Просмотрите предварительный просмотр package.json после ответа на запросы и либо примите его, нажав Enter, либо введите "нет" для отмены.

При принятии файл package.json будет сохранен в каталоге, в котором вы сейчас находитесь.

Созданный файл может выглядеть следующим образом:

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

Принятие значений по умолчанию

CLI npm попытается вывести значения по умолчанию из папки, из которой вы запустили npm init. Например, вывод имени папки, который будет предложен в качестве имени пакета. Или, если вы уже настроили удаленный источник git перед запуском npm init , вам будет предложено поле репозитория.

Вместо того, чтобы запускать npm init, а затем несколько раз нажимать клавишу ввода, чтобы принять значения по умолчанию, вы также можете создать package.json без запроса ввода. Запустите npm init -y, чтобы автоматически сгенерировать пакет и принять все значения по умолчанию. Созданный файл package.json будет показан в командной строке и сохранен в текущем каталоге.

Обновление package.json

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

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

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

Подведение итогов

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

Дальнейшее понимание

  • Установить параметры инициализации npm по умолчанию
  • Какие поля package.json обязательны для заполнения перед публикацией в NPM?

Дополнительные ресурсы

Войдите в свою учетную запись Osio Labs
, чтобы получить мгновенный доступ ко всей нашей библиотеке.

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

Файл package.json:

  • список пакетов, от которых зависит ваш проект
  • указывает версии пакета, которые может использовать ваш проект, используя семантические правила управления версиями
  • делает вашу сборку воспроизводимой и, следовательно, более удобной для совместного использования с другими разработчиками

Примечание. Чтобы упростить поиск вашего пакета на веб-сайте npm, мы рекомендуем включить в файл package.json собственное описание.

Обязательные поля имени и версии

Файл package.json должен содержать поля "имя" и "версия".

Поле «имя» содержит имя вашего пакета в нижнем регистре и одно слово, а также может содержать дефисы и символы подчеркивания.

Поле "версия" должно быть в формате x.x.x и соответствовать правилам семантического управления версиями.

Если вы хотите включить информацию об авторе пакета в поле "автор", используйте следующий формат (адрес электронной почты и веб-сайт не являются обязательными):

Создание нового файла package.json

Вы можете создать файл package.json, запустив анкету CLI или создав файл package.json по умолчанию.

Заполнение анкеты CLI

Чтобы создать файл package.json с указанными вами значениями, используйте команду npm init.

В командной строке перейдите в корневой каталог вашего пакета.

Выполните следующую команду:

Ответьте на вопросы в анкете командной строки.

Настройка анкеты package.json

Если вы планируете создать много файлов package.json, вы можете настроить задаваемые вопросы и поля, созданные в процессе инициализации, чтобы все файлы package.json содержали стандартный набор информации.

В своем домашнем каталоге создайте файл с именем .npm-init.js .

Чтобы добавить собственные вопросы, с помощью текстового редактора добавьте вопросы с функцией подсказки:

Чтобы добавить настраиваемые поля, с помощью текстового редактора добавьте нужные поля в файл .npm-init.js:

Чтобы узнать больше о расширенных настройках инициализации npm, см. репозиторий init-package-json GitHub.

Создание файла package.json по умолчанию

Чтобы создать package.json по умолчанию, используя информацию, извлеченную из текущего каталога, используйте команду инициализации npm с флагом --yes или -y. Список значений по умолчанию см. в разделе «Значения по умолчанию, извлеченные из текущего каталога».

В командной строке перейдите в корневой каталог вашего пакета.

Выполните следующую команду:

Значения по умолчанию извлечены из текущего каталога

  • name : имя текущего каталога
  • версия: всегда 1.0.0
  • описание: информация из README или пустая строка ""
  • scripts : по умолчанию создается пустой тестовый скрипт
  • ключевые слова: пусто
  • автор: пусто
  • лицензия: ISC
  • ошибки: информация из текущего каталога, если она есть
  • домашняя страница: информация из текущего каталога, если он есть

Настройка параметров конфигурации для команды инициализации

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

Создание файла package.json обычно является первым шагом в проекте Node.js, и он должен быть доступен, если вы хотите добавить зависимости через npm в свой проект. Существует множество доступных пакетов для создания шаблонов приложений, таких как create-react-app, которые делают это за вас. Этот пост в блоге посвящен тому, как создать package.json с нуля. Взгляните на эту статью — Что такое package.json

Создайте файл package.json

Самый простой способ создать package.json:

  • Войдите в корневую папку вашего проекта.
  • Запустить npm init
  • Заполните подсказки, чтобы создать файл package.json

💰 Программист-прагматик: путь к мастерству. 💰 Одна из лучших книг по разработке программного обеспечения, продано более 200 000 раз.

Просто выполните следующие действия.

  1. Создайте папку для своего проекта.
  2. Войдите в папку, которую вы только что создали с помощью cd FOLDER_NAME, и запустите npm init. Вы должны увидеть следующее приглашение:
  1. Заполните подсказки для полей в файле package.json. Либо примите значение по умолчанию, либо введите новое значение. Вам будет предложено ввести следующие поля package.json: имя, версия, описание, основная, тестовая команда, репозиторий git, ключевые слова, автор и лицензия. Можно принять значения по умолчанию, чтобы сгенерировать package.json и иметь возможность устанавливать зависимости. Все поля являются необязательными, если вы не публикуете свой пакет в реестре NPM. Если вы намерены опубликовать свой пакет, существует несколько требований, и в целом вы должны заполнить подсказки. Вы можете узнать больше о различных полях package.json в этой статье — Основы Package.json. Единственное реальное требование (на данный момент) состоит в том, что файл package.json должен соответствовать формату JSON.
  2. Просмотрите предварительную версию package.json после ответа/принятия значений по умолчанию в запросах и примите (да) или отклоните (нет). Результат должен выглядеть примерно так (приняты значения по умолчанию):
  1. 🎉 Тада. 🎉 Вы успешно создали package.json и теперь можете установить зависимости для своего проекта с помощью npm install . Вы всегда можете вручную отредактировать файл package.json в редакторе, если хотите изменить некоторые значения.

Принятие значений по умолчанию

CLI npm попытается вывести значения по умолчанию из папки, из которой вы запустили npm init. Если вы собираетесь принять значения по умолчанию, сгенерированные npm cli, вы также можете сгенерировать package.json без запроса ввода. Просто запустите npm init -y, чтобы сгенерировать package.json и автоматически принять все значения по умолчанию. Сгенерированный файл будет показан в командной строке.

  • Создайте package.json с помощью npm init в каталоге проекта.
  • Если вы не хотите публиковать данные в реестре NPM, значения по умолчанию можно принять автоматически с помощью команды npm init -y .

Спасибо, что прочитали, и если у вас есть какие-либо вопросы, используйте функцию комментариев или отправьте мне сообщение @mariokandut.

Если вы хотите узнать больше о Node, ознакомьтесь с этими учебными пособиями по Node.

Если вы работаете с JavaScript или когда-либо взаимодействовали с проектом JavaScript, Node.js или интерфейсным проектом, вы наверняка встречали файл package.json.

Зачем это? Что вы должны знать об этом и какие интересные вещи вы можете с ним сделать?

Файл package.json — это своего рода манифест вашего проекта. Он может делать много вещей, совершенно не связанных между собой. Например, это центральный репозиторий конфигурации для инструментов. Там же npm и yarn хранят имена и версии всех установленных пакетов.

Структура файла

Вот пример файла package.json:

Он пуст! Нет фиксированных требований к тому, что должно быть в файле package.json для приложения. Единственное требование состоит в том, что он должен соответствовать формату JSON, иначе он не сможет быть прочитан программами, пытающимися получить программный доступ к его свойствам.

Если вы создаете пакет Node.js, который хотите распространять через npm, все радикально меняется, и вы должны иметь набор свойств, которые помогут другим людям использовать его. Подробнее об этом мы поговорим позже.

Это еще один package.json:

Оно определяет свойство имени, которое сообщает имя приложения или пакета, содержащегося в той же папке, где находится этот файл.

Вот более сложный пример, извлеченный из образца приложения Vue.js:

  • версия указывает на текущую версию
  • имя задает имя приложения/пакета
  • description — это краткое описание приложения/пакета.
  • main устанавливает точку входа для приложения
  • private, если установлено значение true, предотвращает случайную публикацию приложения/пакета в npm
  • scripts определяет набор скриптов узлов, которые вы можете запускать
  • dependencies устанавливает список пакетов npm, установленных как зависимости
  • devDependencies устанавливает список пакетов npm, установленных в качестве зависимостей для разработки.
  • engines определяет, на каких версиях Node.js работает этот пакет/приложение
  • список браузеров используется, чтобы указать, какие браузеры (и их версии) вы хотите поддерживать

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

В этом разделе подробно описаны свойства, которые вы можете использовать. Мы говорим о «пакете», но то же самое относится и к локальным приложениям, которые вы не используете в качестве пакетов.

Задает имя пакета.

Имя должно содержать менее 214 символов, не должно содержать пробелов, оно может содержать только строчные буквы, дефисы (-) или символы подчеркивания (_).

Это связано с тем, что когда пакет публикуется в npm, он получает собственный URL на основе этого свойства.

Если вы публично опубликовали этот пакет на GitHub, хорошим значением для этого свойства является имя репозитория GitHub.

Показывает имя автора пакета

Также можно использовать с этим форматом:

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

Также можно использовать с этим форматом:

Ссылки на систему отслеживания проблем с пакетами, скорее всего, на страницу ошибок GitHub

Устанавливает домашнюю страницу пакета

Указывает текущую версию пакета.

Это свойство следует нотации семантической версии (semver) для версий, что означает, что версия всегда выражается тремя числами: x.x.x .

Первое число — это основная версия, второе — вспомогательная версия, а третье — версия исправления.

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

Указывает лицензию пакета.

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

Это свойство содержит краткое описание пакета

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

Это свойство указывает, где находится этот репозиторий пакетов.

Обратите внимание на префикс github. Есть и другие популярные сервисы, встроенные в:

Вы можете явно установить систему контроля версий:

Вы можете использовать разные системы контроля версий:

Устанавливает точку входа для пакета.

Когда вы импортируете этот пакет в приложение, приложение будет искать экспортируемые модули именно там.

если установлено значение true, приложение или пакет не будут случайно опубликованы в npm

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

Эти сценарии являются приложениями командной строки. Вы можете запустить их, вызвав npm run XXXX или yarn XXXX, где XXXX — имя команды. Пример: npm run dev .

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

Задает список пакетов npm, установленных в качестве зависимостей.

При установке пакета с помощью npm или yarn:

этот пакет автоматически вставляется в этот список.

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

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

При установке пакета с помощью npm или yarn:

этот пакет автоматически вставляется в этот список.

Указывает, с какими версиями Node.js и другими командами работает этот пакет/приложение

Используется, чтобы указать, какие браузеры (и их версии) вы хотите поддерживать. На него ссылаются Babel, Autoprefixer и другие инструменты, чтобы добавлять полифиллы и резервные варианты, необходимые только для целевых браузеров.

Файл package.json также может содержать конфигурацию для конкретной команды, например для Babel, ESLint и т. д.

Каждый из них имеет определенное свойство, например eslintConfig , babel и другие. Они относятся к конкретным командам, и вы можете узнать, как их использовать, в соответствующей документации по командам/проектам.

Вы видели в описании выше такие номера версий: ~3.0.0 или ^0.13.0 . Что они означают и какие другие спецификаторы версии вы можете использовать?

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

Учитывая, что при использовании semver (семантического управления версиями) все версии имеют 3 цифры, первая из которых – основной выпуск, вторая – дополнительная версия, а третья – выпуск исправления, у вас есть эти "Правила".

package.json — это файл JSON, расположенный в корне проекта JS, который содержит соответствующие метаданные для проекта и управляет зависимостями проекта, сценариями, версией и т. д.

Существует два способа создать файл package.json с помощью node и yarn .

Использование узла

Если у вас установлена ​​последняя версия узла, выполните следующую команду для создания:

Вы также можете добавить в файл значения по умолчанию, запустив:

Вручную

Чтобы вручную сгенерировать файл package.json, перейдите в корневой каталог проекта и создайте файл package.json.

Затем вам нужно добавить следующий код в файл, заполненный вашими значениями:

Свойства файла JSON

Имя представляет собой название проекта. Имя должно быть:

  • одно слово
  • нижний регистр
  • не начинать с «_» или «.»

Версия

Версия обозначает текущую версию модулей. Он должен соответствовать семантическим правилам управления версиями, например 1.0.0

Описание

Описание содержит дополнительную информацию о проекте.

Двигатели

Свойство engine – это объект, используемый для указания версий библиотеки, необходимых для запуска приложения.

Зависимости

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

devDependencies

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

Вы можете запустить их с помощью npm i package --save-dev .

Скрипты

Сценарии – это пары "ключ-значение", используемые для выполнения ряда задач, таких как сборка, тестирование и т. д.

Вы можете запустить их с помощью npm run scriptname .

Главная — это точка входа приложения, которая должна указывать на главную страницу вашего приложения.

Главная страница

Домашняя страница используется для указания целевой страницы приложения.

Личное

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

Лицензия

Действительные лицензии добавляются сюда.

Автор

Здесь добавляются имена авторов.

Репозиторий

Репозиторий – это пара "ключ-значение", которая содержит систему контроля версий, используемую для управления приложением.

Вы можете указать:

  • тип контроля версий
  • URL системы управления версиями
  • необязательный каталог в репозитории

*Ссылка на страницу, где можно сообщить о проблемах.

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

Набор ключевых слов, помогающих идентифицировать ваш проект.

Пользовательские свойства

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

Читайте также: