Zoeken…


Globale modus

Als u Node hebt geïnstalleerd met de standaardmap, terwijl in de globale modus, NPM pakketten installeert in /usr/local/lib/node_modules . Als u het volgende in de shell typt, zoekt, downloadt en installeert NPM de nieuwste versie van het pakket met de naam sax in de directory /usr/local/lib/node_modules/express :

$ npm install -g express

Zorg ervoor dat u voldoende toegangsrechten hebt voor de map. Deze modules zijn beschikbaar voor alle knooppuntprocessen die op die machine worden uitgevoerd

In lokale modus installatie. Npm downloadt en installeert modules in de huidige node_modules door een nieuwe map met de naam node_modules te maken. Als u bijvoorbeeld in /home/user/apps/my_app een nieuwe map gemaakt met de naam node_modules /home/user/apps/my_app/node_modules als deze nog niet bestaat

Modules laden

Wanneer we naar de module in de code verwijzen, zoekt het knooppunt eerst de map node_module in de map waarnaar wordt verwezen in de vereiste verklaring. Als de modulenaam niet relatief is en geen kernmodule is, zal Node proberen deze te vinden in de map node_modules in de huidige directory. Als u bijvoorbeeld het volgende doet, probeert Node het bestand ./node_modules/myModule.js :

var myModule = require('myModule.js');

Als Node het bestand niet kan vinden, kijkt het in de bovenliggende map met de naam ../node_modules/myModule.js . Als het opnieuw mislukt, zal het de bovenliggende map proberen en blijven dalen totdat het de root bereikt of de vereiste module vindt.

Je kunt ook de .js extensie weglaten, in welk geval het knooppunt de .js extensie .js en naar het bestand zoekt.

Een mapmodule laden

U kunt het pad voor een map gebruiken om een module als volgt te laden:

var myModule = require('./myModuleDir');

Als u dit doet, zoekt Node in die map. Node gaat ervan uit dat deze map een pakket is en probeert een pakketdefinitie te zoeken. Die pakketdefinitie moet een bestand met de naam package.json . Als die map geen pakketdefinitiebestand met de naam package.json , neemt het pakketinvoerpunt de standaardwaarde van index.js en zoekt Node in dit geval naar een bestand onder het pad ./myModuleDir/index.js .

Het laatste redmiddel als de module niet in een van de mappen wordt gevonden, is de globale installatiemap van de module.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow