Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Come Node.js Carica i Moduli | Sezione
Fondamenti di Node.js

bookCome Node.js Carica i Moduli

Scorri per mostrare il menu

Per lavorare efficacemente con i moduli in Node.js, è necessario comprendere come Node.js li individua e li carica. Questo processo è chiamato risoluzione dei moduli. Quando si utilizza la funzione require per importare un modulo, Node.js segue un algoritmo specifico per individuare il file o il pacchetto richiesto. Il processo di risoluzione tiene conto delle estensioni dei file, della struttura delle cartelle e persino della presenza di file speciali come package.json.

Node.js verifica innanzitutto se il modulo richiesto è un modulo core, come fs o http. Se non si tratta di un modulo core, Node.js interpreta la stringa passata a require come un percorso relativo (che inizia con ./ o ../), un percorso assoluto o un nome di modulo. Per i percorsi relativi e assoluti, Node.js tenta di risolvere il file controllando, nell'ordine:

  • Se esiste esattamente il file con il nome fornito;
  • Se esiste il file aggiungendo l'estensione .js;
  • Se esiste il file aggiungendo l'estensione .json;
  • Se esiste il file aggiungendo l'estensione .node.

Se il percorso punta a una directory, Node.js cercherà un file package.json all'interno di quella directory. Se lo trova, utilizzerà il campo main per determinare quale file caricare. Se non esiste un package.json o il campo main, Node.js cercherà un file index.js, index.json o index.node all'interno della directory.

Se si richiede un modulo per nome (non un percorso), Node.js lo cercherà nelle cartelle node_modules, partendo dalla directory corrente e risalendo la struttura delle cartelle fino alla radice.

app.js

app.js

copy
Note
Nota

Node.js memorizza nella cache i moduli dopo il primo caricamento. Questo significa che se si richiede lo stesso modulo più volte, viene eseguito solo una volta e le chiamate successive restituiscono lo stesso oggetto memorizzato nella cache. Questo migliora le prestazioni e la coerenza all'interno dell'applicazione.

question-icon

Completa gli spazi vuoti:
Quando si utilizza require('./moduleName') in Node.js, l'algoritmo di risoluzione dei moduli controlla nel seguente ordine:

  1. Se esiste un file chiamato moduleName;
  2. Se esiste un file chiamato moduleName.___1___;
  3. Se esiste un file chiamato moduleName.___2___;
  4. Se esiste un file chiamato moduleName.___3___.

Clicca o trascina gli elementi e riempi gli spazi vuoti

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 11

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 1. Capitolo 11
some-alt