Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Hur Node.js Laddar Moduler | Sektion
Node.js-Grunder

bookHur 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

app.js

copy
Note
Notering

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.

question-icon

Fyll i luckorna:
När du använder require('./moduleName') i Node.js, kontrollerar modulupplösningsalgoritmen i följande ordning:

  1. Om en fil med namnet moduleName finns;
  2. Om en fil med namnet moduleName.___1___ finns;
  3. Om en fil med namnet moduleName.___2___ finns;
  4. Om en fil med namnet moduleName.___3___ finns.

Klicka eller dra`n`släpp objekt och fyll i luckorna

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 11

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 1. Kapitel 11
some-alt