Gestione dei file statici in Express
Per gestire i file statici, quali immagini, file CSS e file JavaScript, utilizzare la funzione middleware integrata express.static
in Express.
The function signature is:
express.static(root, [options])
The root
argument specifies the root directory from which to serve static assets.
For more information on the options
argument, see express.static.
Ad esempio, utilizzare il seguente codice per gestire le immagini, i file CSS e i file JavaScript nella directory denominata public
:
app.use(express.static('public'))
Ora, è possibile caricare i file che si trovano nella directory public
:
http://localhost:3000/images/kitten.jpg
http://localhost:3000/css/style.css
http://localhost:3000/js/app.js
http://localhost:3000/images/bg.png
http://localhost:3000/hello.html
Per utilizzare più directory di asset statiche, richiamare la funzione middleware express.static
più volte:
app.use(express.static('public'))
app.use(express.static('files'))
Express ricerca i file nell’ordine in cui sono state impostate le directory statiche con la funzione middleware express.static
.
Note
For best results, use a reverse proxy cache to improve performance of serving static assets.
Per creare un prefisso per il percorso virtuale (in cui il percorso non esiste effettivamente nel file system) per i file gestiti dalla funzione express.static
, specificare un percorso di caricamento per la directory statica, come mostrato di seguito:
app.use('/static', express.static('public'))
Ora, è possibile caricare i file che si trovano nella directory public
dal prefisso del percorso /static
.
http://localhost:3000/static/images/kitten.jpg
http://localhost:3000/static/css/style.css
http://localhost:3000/static/js/app.js
http://localhost:3000/static/images/bg.png
http://localhost:3000/static/hello.html
Tuttavia, il percorso fornito per la funzione express.static
è relativo alla directory dalla quale è possibile avviare il processo node
. Se si esegue l’applicazione express da un’altra directory, è preferibile utilizzare il percorso assoluto della directory che si desidera gestire:
const path = require('path')
app.use('/static', express.static(path.join(__dirname, 'public')))
For more details about the serve-static
function and its options, see serve-static.