2013-11-15 16 views

Odpowiedz

4

Każda aplikacja węzła to package i powinna mieć plik package.json. Te aplikacje, które działają jako oprogramowanie pośrednie (lub odpowiednik bibliotek) i są przeznaczone do zainstalowania w innych aplikacjach, to: modules.

W skrócie wszystko modulespackages, ale nie wszystkie packages mają być wykorzystane jako modules, choć wielu może być.

Moduły zostaną zainstalowane, jeśli na liście dependencies w pliku package.json i umieszczone w folderze node_modules, ale npm recurses poprzez ich package.json plików dodać modules one polegać.

22

Modules są bibliotekami dla node.js. Zobacz poniższy fragment api:

Węzeł ma prosty system ładowania modułów. Węzły pliki i moduły są w korespondencji jeden-do-jednego.

Przykłady modułów:

  • Circle.js
  • Rectangle.js
  • Square.js

Pakiet stanowi jeden lub więcej modułów (biblioteki), grupy (lub zapakowane) razem. Są one powszechnie używane przez inne pakiety lub projekt własny. Node.js używa package manager, gdzie można znaleźć i zainstalować tysiące pakietów.

Przykład pakietu:

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

Zasadniczo, można zainstalować pakiet, Shapes i mieć dostęp do koła, prostokąta, a kwadratowych modułów.

1

Wszystko, co możesz require() to moduł. W większości przypadków w świecie CommonJS jeden plik jest modułem.

Pakiet może zawierać kilka modułów, ale zwykle ładuje punkt wejścia (main), który jest określony w package.json czy to index.js jeśli nie main nieruchomość jest zapewnione, na przykład: require('express')

ale można też wymagać innego pliku (nie główny plik), jeśli zna lokalizację, na przykład: require("express/lib/application") (w node.js można pominąć rozszerzenia: js)

pakiet można uzyskać dostęp z innych modułów pakiety, jeśli są wymienione w dependencies właściwości package.json.

Właściwie npm instaluje wszystkie pakiety w node_modules co jest mylące, ponieważ powinien być node_packages.

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