Зачем нам нужно свойство main в package.json в корне приложения узла, если оно предназначено для указания пакетов и точки входа модуля?

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


person mohit kaushik    schedule 31.10.2018    source источник
comment
что вы подразумеваете под точкой входа? он просто сообщает, какая зависимость у ваших приложений от других модулей, как запустить приложение, как тестировать приложение, а также детали приложения, такие как имя, версия и т. д.   -  person xan_z    schedule 31.10.2018


Ответы (1)


Хорошая практика - указать правильную точку входа. Используется при разрешении модулей. То, что вы называете «приложением», на самом деле является пакетом Node. В какой-то момент он может использоваться как таковой, например как субприложение внутри другого приложения.

Обычный случай, когда это применимо, - это тестирование, куда следует импортировать корневой модуль:

test / app.spec.js

const appInstance = require('..');
person Estus Flask    schedule 31.10.2018
comment
на самом деле я создаю приложение в nodejs, используя экспресс и в корневой папке приложения, у меня есть этот package.json, который, очевидно, хранит сведения о моем приложении и зависимостях, но я не понимаю, почему эта запись main: index.js здесь. Какой смысл помещать это туда? - person mohit kaushik; 01.11.2018
comment
index.js - значение по умолчанию для поля main. Его можно не указывать, но он используется вместо настраиваемого значения. Вот как выглядит package.json, когда он создается с нуля с помощью npm init. - person Estus Flask; 01.11.2018