Hur Node.js Laddar Moduler
Svep för att visa menyn
För att arbeta effektivt med moduler i Node.js behöver du förstå hur Node.js hittar och laddar dem. Denna process kallas modulupplösning. När du använder funktionen require för att importera en modul följer Node.js en specifik algoritm för att lokalisera filen eller paketet du begär. Upplösningsprocessen tar hänsyn till filtillägg, mappstruktur och även förekomsten av speciella filer som package.json.
Node.js kontrollerar först om modulen du kräver är en kärnmodul, såsom fs eller http. Om det inte är en kärnmodul behandlar Node.js strängen du skickar till require som antingen en relativ sökväg (som börjar med ./ eller ../), en absolut sökväg eller ett modulnamn. För relativa och absoluta sökvägar försöker Node.js lösa filen genom att kontrollera följande i ordning:
- Om den exakta filen finns med det angivna namnet;
- Om filen finns med tillagt
.js-tillägg; - Om filen finns med tillagt
.json-tillägg; - Om filen finns med tillagt
.node-tillägg.
Om sökvägen pekar på en katalog letar Node.js efter en package.json-fil i den katalogen. Om den hittar en används fältet main för att avgöra vilken fil som ska laddas. Om det inte finns någon package.json eller inget main-fält letar Node.js efter en index.js, index.json eller index.node-fil i katalogen.
Om du kräver en modul med namn (inte en sökväg) söker Node.js efter den i node_modules-mapparna, med början i den aktuella katalogen och sedan uppåt i katalogträdet tills den når roten.
app.js
Node.js cachar moduler efter att de har laddats första gången. Detta innebär att om du kräver samma modul flera gånger körs den bara en gång, senare anrop returnerar samma cachade objekt. Detta förbättrar prestanda och konsekvens i hela din applikation.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal