Генератор package.json
Гид
Генератор package.json
Создать действительный package.json из структурированной формы вместо запоминания каждого поля. Установите имя пакета, версию, лицензию, систему модулей (ESM или CommonJS), движок Node, скрипты и зависимости, и инструмент создаст чистый, правильно упорядоченный манифест, который можно сразу вставить в проект.
В отличие от форматера, который перестраивает существующий файл, этот генератор создаёт манифест с нуля и пропускает пустые поля, поэтому вы получаете минимальный, публикуемый файл, который уже соответствует конвенциям, используемым npm для npm init.
Как использовать
- Введите имя пакета, версию и (опционально) описание и автора.
- Выберите лицензию и выберите ES Модули или CommonJS для системы модулей.
- Установите входной файл (например,
index.js) и диапазон engines.node, такой как>=18. - Заполните скрипты, которые вы действительно используете (
dev,build,test,start) — оставьте поля пустыми, чтобы исключить их. - Добавьте зависимости и devDependencies в формате
name@range, один на строку или запятая-разделённые. - Выберите отступ (2 пробела, 4 пробела или табу) и скопируйте или загрузите сгенерированный
package.json.
Возможности
- Форма-ориентированный – Не нужно запоминать точные названия полей или порядок; распространённые ключи заполняются для вас.
- ESM или CommonJS – Переключите систему модулей и инструмент установит
"type": "module"иmoduleвходной файл соответственно. - Умные скрипты – Пустые поля скриптов удаляются, вместо того чтобы оставаться как
""заполнители. - Парсинг зависимостей – Вставьте список
package@^1.2.3входов и они станут аккуратнымdependenciesобъектом. - Помощь с репозиторием – Вставьте URL GitHub и генератор заполнит
repository,bugsиhomepageдля вас. - Флаг частного – Один клик отмечает пакет как частный, чтобы предотвратить случайное
npm publish. - Отступайте по своему усмотрению – Вывод в формате 2 пробела, 4 пробела или таба, чтобы соответствовать стилю вашего репозитория.
- Копирование или загрузка – Получите результат как текст или загрузите
package.jsonнепосредственно.
Часто задаваемые вопросы
-
Какова разница между зависимостями и devDependencies?
dependencies— пакеты, которые ваш код импортирует во время выполнения, и которые также устанавливаются потребителями вашего пакета.devDependencies— инструменты, которые вы используете только при разработке или сборке проекта — например, сборщики, запуск тестов, проверка типов — и они не устанавливаются, когда кто-то добавляет ваш пакет в свой собственный проект. -
Что делает установка type в module на самом деле?
Параметр
"type": "module"указывает Node.js, чтобы рассматривать.jsфайлы в пакете как ES модули, поэтомуimportиexportработают нативно. Без этого Node рассматривает.jsкак CommonJS и вам нужно использоватьrequire/module.exports. ES Модули также позволяют использовать верхний уровеньawaitи строгую разрешающую систему файлов. -
Почему package.json использует семантическую версию?
Семантическая версия (MAJOR.MINOR.PATCH) даёт потребителям договор: увеличение PATCH должно быть безопасным исправлением ошибок, увеличение MINOR добавляет функции, совместимые с обратной совместимостью, а увеличение MAJOR сигнализирует о разрушающих изменениях. Операторы диапазона, такие как
^и~полагаются на этот договор, чтобы npm мог устанавливать совместимые обновления без нарушения вашей сборки. -
Какова цель поля engines?
The
enginesполе объявляет, какие версии Node.js (или других сред выполнения) поддерживаются вашим пакетом. npm и многие инструменты показывают предупреждение при установке на несовместимой версии, и некоторые платформы отказываются устанавливать полностью. Установка явногоnodeдиапазона предотвращает скрытые ошибки, вызванные API, существующими только в новых версиях Node.
Установите наши расширения
Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска
恵 Табло результатов прибыло!
Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!
Подписаться на новости
все Новые поступления
всеОбновлять: Наш последний инструмент was added on Май 22, 2026
