Все пакеты также являются модулями в Node? - PullRequest
0 голосов
/ 22 апреля 2020

Я прочитал npm до c, но пара моих концепций все еще неясна и может показаться наивной:

Q1.

Пакет - это файл или каталог, который описывается пакетом. json file.

Что они подразумевают под ", описываемым package.json file "? Любой пример, чтобы легко понять?

Q2.

Условие быть пакетом

Пакет - это файл или каталог, описываемый пакетом. json file.

Условие быть модулем

Для загрузки с помощью функции Node.js require () модуль должен быть одним из следующих:

  • Папка с пакетом. json файл, содержащий «основное» поле.
  • Папка с индексным файлом. js.
  • A JavaScript файл.

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

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

1 Ответ

1 голос
/ 22 апреля 2020

Модуль - это все, что можно загрузить с помощью require() и что-то полезное. Это может быть один файл. С ним не нужно иметь пакет. json связанный с ним. На самом деле, многие локально разработанные «модули» этого не делают. В одном каталоге может быть много модулей.

Пакет - это набор кода, предназначенный для простого распространения. Если вы используете диспетчер пакетов NPM, тогда пакет NPM будет содержать пакет. Файл json, содержащий набор метаданных о пакете, включая такие вещи, как зависимости от других модулей, информация об авторе, информация о репозитории. , информация о том, как проверить модуль, информация о том, какой файл является файлом запуска модуля, и т. д. c ...

FYI, NPM - не единственный менеджер пакетов, поэтому он не единственный способ работы, но для разработки node.js он, безусловно, наиболее широко используется, и он предлагает центральное хранилище, упрощающее пакеты publi sh для широкого и простого распространения.

Являются ли все пакеты также модулями в Node?

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

Ниже приведен пример распределения данных stati c вместо кода: JSON Модули узлов данных. Часть 1. Использование NPM для хранения и распространения S тати c данные .

...