Является ли основной ключ в package.json обязательным?

Моя проблема

У меня есть репо, которое содержит коллекцию из нескольких nodejs Serverless, Функция как услуга. Функции используют один и тот же каталог node_modules, но развертываются отдельно на нашей платформе FaaS.

npm init создает запись "main": "function.js" в package.json. Поскольку у меня нет ни одной (или какой-либо) точки входа, мне интересно, могу ли я вообще удалить эту строку.

Что я пробовал

Мой вопрос

Обязателен ли ключ main в package.json?

7
0
3 504
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Нет, это не обязательно.

Вы можете опубликовать пакет в npm (используя команду npm publish) даже без указания основной точки входа. Так что вы можете удалить его из вашего package.json.

Согласно документы, единственными обязательными полями являются «имя» и «версия».

Спасибо. Для будущих читателей, есть ли у вас официальная ссылка из документации npm?

Adam Matan 31.10.2018 14:12

@AdamMatan - Касаемо "официальная ссылка из документации npm" ... По документам здесь. в разделе "требования" указано: package.json должен содержать: "name" и "version" - другие не упоминаются.

RobC 31.10.2018 14:51

Извините, при чтении вашего ответа у меня возникли некоторые вопросы. Следует минимизировать JS-файл, указанный в поле mainpackage.json, или нет? Может ли файл, указанный в поле main, быть файлом в каталоге build или dist и, следовательно, не зафиксирован в репозитории GitHub библиотеки? Каковы могут быть последствия такого подхода и каковы лучшие практики при разработке библиотек JS?

tonix 20.11.2019 23:36

main

The main field is a module ID that is the primary entry point to your program. That is, if your package is named foo, and a user installs it, and then does require("foo"), then your main module's exports object will be returned.

This should be a module ID relative to the root of your package folder.

Поскольку вы не делитесь своей библиотекой с другими с требовать это не обязательно

Для получения дополнительной информации обратитесь к документы

Другие вопросы по теме

Может ли функция получить доступ к аргументам, переданным в main ()?
Проблемы с началом работы. `package main` выдает ошибку времени выполнения - индекс вне допустимого диапазона?
Отображение буквенного номера телефона (в цифрах) несколькими способами
Является ли main ненужным при использовании метода start в javafx?
Как вызвать функцию, определенную в основном контексте, из модуля python?
Как мне создать один метод, который будет использовать для расчетов переменные из 4+ методов?
Назначить глобальную структурную переменную вне основного и внутри основного
Может ли основной метод вернуть код ошибки в случае сбоя программы?
Spring boot - как зарегистрировать перехватчик выключения для приложения без графического интерфейса пользователя
Как настроить jetbrain phpstorm для добавления кнопок действий в главное меню / панель инструментов, таких как кнопки возврата и отмены вместо ctrl + y и ctrl + shift + z?