2013-11-15 4 views

ответ

4

Каждое приложение Node является package и должно иметь файл package.json. Те приложения, которые действуют как промежуточное программное обеспечение (или эквивалент библиотек) и предназначены для установки внутри других приложений, - modules.

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

модули будут установлены, если в списке dependencies в файле package.json, и помещается в папку node_modules, но npm рекурсивно через свои package.json файлы для добавления modules они полагаются на.

22

Modules являются библиотеками для node.js. См. Приведенный ниже отрывок из api:

Узел имеет простую систему загрузки модуля. В узле файлы и модули находятся во взаимно однозначном соответствии.

Примеры модулей:

  • circle.js
  • Rectangle.js
  • Square.js

Пакет представляет собой один или несколько модулей (библиотеки) сгруппированы (или упакованы) вместе. Они обычно используются другими пакетами или самим проектом. Node.js использует package manager, где вы можете найти и установить тысячи пакетов.

Пример пакета:

Shapes    <- Package name 
    - Circle.js  <- 
    - Rectangle.js <- Modules that belong to the Shapes package 
    - Square.js  <- 

По существу, вы можете установить пакет, Shapes, и иметь доступ к Кругу, прямоугольник и площади модулей.

1

Все, что вы можете require() является модулем. В большинстве случаев в мире CommonJS одним файлом является модуль.

Пакет может содержать несколько модулей, но обычно загружая точку входа (main), который указан в package.json или это index.js если нет main собственности не предусмотрено, например: require('express')

Но вы также можете потребовать другой файл (не главный файл), если вы знаете местонахождение, например: require("express/lib/application") (в node.js вы можете опустить расширение: .js)

пакет может получить доступ модули из других если они перечисленные в dependencies собственности package.json.

Собственно НПМ устанавливает все пакеты в node_modules, который сбивает с толку, потому что она должна быть node_packages.

https://nodejs.org/api/modules.html

Смежные вопросы